Неустранимая ошибка: превышено максимальное время выполнения 0 секунд - PullRequest
17 голосов
/ 02 февраля 2011

Мой скрипт сравнивает 2 исходных дерева, создает карту возможных измененных файлов, сравнивает хэши MD5 и создает diff-пакет.

После 28000-29000 файлов PHP завершает скрипт с ошибкой:

Неустранимая ошибка: превышено максимальное время выполнения 0 секунд в /root/_PACKER-TESTER/core/diff.class.php в строке 67 (стандартный вызов in_array ())

Я уже пытался установить max_input_time на высокое значение (или ноль) - ничего.

Установка max_execution_time на 99999999999999 ничего не делать .... та же ошибка.

Ответы [ 4 ]

23 голосов
/ 31 августа 2012

Попробуйте установить max_input_time = -1 в php.ini или использовать set_time_limit(-1).Это сработало для меня без перестройки PHP.

Эта статья объясняет это очень хорошо.

9 голосов
/ 02 февраля 2011

Проблема решена, php сборка с litespeed api (lsapi) имеет дополнительную env переменную для определения макс. время выполнения - LSAPI_MAX_PROCESS_TIME (по умолчанию 300 сек.).

0 голосов
/ 28 декабря 2015

Я обнаружил, что "максимальное время выполнения, превышающее 0 секунд", может быть вызвано тем, что код входит в бесконечный цикл.

Например:

while (true) { ... }

вызывает эту ошибку для меня.

Если это не переменная окружения (как упоминалось ранее), я бы проанализировал, что находится на номере строки, сообщенной php с ошибкой

0 голосов
/ 02 февраля 2011

Попробуйте set_time_limit () и проверьте в phpinfo (), можете ли вы установить ограничение по времени:

set_time_limit(60*60);phpinfo();exit;
...