Подтвердить что ты не робот

Неустранимая ошибка: превышено максимальное время выполнения 0 секунд

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

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

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

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

Настройка max_execution_time до 99999999999999 ничего не делает.... такая же ошибка.

4b9b3361

Ответ 1

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

Ответ 2

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

Эта статья объясняет это красиво.

Ответ 3

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

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

Ответ 4

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

Например:

while (true) { ... }

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

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