Ошибка Maximum execution time of 30 seconds exceeded
Ошибка Maximum execution time of 30 seconds exceeded возникает, когда PHP скрипт выполняется более 30 секунд.
Быстрое исправление
Чтобы исправить проблему, достаточно увеличить допустимое время работы скрипта в php.ini:
max_execution_time = 900
Ограничение в 15 минут, вместо 30 секунд по умолчанию
Либо прямо в коде:
ini_set('max_execution_time', 900); # ...
Установит ограничение в 900 секунд для текущего скрипта
Причин возникновения ошибки Maximum execution time может быть несколько.
1. Медленные внешние запросы
Если PHP получает какие-то данные из внешних ресурсов либо из базы данных, это может занимать очень большое количество времени. В этом случае можно использовать кэширование.
Для обнаружения медленных участков кода используйте профайлеры.
2. Бесконечные циклы и рекурсия
Частые ошибки в коде приводят к тому, что код выполняется бесконечно:
while ( 1 < 2 ) { # .... }
Цикл будет выполняться всегда
Общие рекомендации по оптимизации приложений на PHP.
Этот текст был написан несколько лет назад. С тех пор упомянутые здесь инструменты и софт могли получить обновления. Пожалуйста, проверяйте их актуальность.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: