У меня есть веб-приложение, которое хорошо работает на наших серверах Linux, но при работе Mac OS с Сервером Выпуска Сообщества Зенда с помощью PHP 5.3 мы получаем ошибку:
usort (): Массив был изменен пользовательской функцией сравнения
каждый раз, когда страница загружается впервые (требуется приблизительно 2 минуты для страницы для отметки и загрузка на серверах Linux загрузки страницы за 1 секунду).
Имеет кого-либо еще, испытал это или имеет любую идею, как я могу решить проблему, я попытался играть вокруг с PHP и настройками памяти Apache без удачи.
Какая версия PHP установлена на Linux-сервере?
Одинаковы ли уровни error_reporting в обоих окнах? Попробуйте установить для них обоих E_ALL.
Предупреждение почти наверняка не ложь. В нем говорится, что функция сравнения, которую вы передаете usort (), изменяет массив, который вы пытаетесь отсортировать - это определенно может заставить usort занять много времени, а возможно, и навсегда!
Моим первым шагом было бы изучить функцию сравнения и выяснить, почему это происходит. Возможно, что если Linux-боксы используют версию до 5.3, есть некоторая разница в поведении некоторых языковых функций, используемых в функции сравнения.