usort (): Массив был изменен пользовательской функцией сравнения

У меня есть веб-приложение, которое хорошо работает на наших серверах Linux, но при работе Mac OS с Сервером Выпуска Сообщества Зенда с помощью PHP 5.3 мы получаем ошибку:

usort (): Массив был изменен пользовательской функцией сравнения

каждый раз, когда страница загружается впервые (требуется приблизительно 2 минуты для страницы для отметки и загрузка на серверах Linux загрузки страницы за 1 секунду).

Имеет кого-либо еще, испытал это или имеет любую идею, как я могу решить проблему, я попытался играть вокруг с PHP и настройками памяти Apache без удачи.

46
задан Benjamin 17 June 2014 в 14:23
поделиться

1 ответ

Какая версия PHP установлена ​​на Linux-сервере?

Одинаковы ли уровни error_reporting в обоих окнах? Попробуйте установить для них обоих E_ALL.

Предупреждение почти наверняка не ложь. В нем говорится, что функция сравнения, которую вы передаете usort (), изменяет массив, который вы пытаетесь отсортировать - это определенно может заставить usort занять много времени, а возможно, и навсегда!

Моим первым шагом было бы изучить функцию сравнения и выяснить, почему это происходит. Возможно, что если Linux-боксы используют версию до 5.3, есть некоторая разница в поведении некоторых языковых функций, используемых в функции сравнения.

1
ответ дан 26 November 2019 в 20:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: