Ошибка 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.


Подпишитесь на Хайлоад с помощью Google аккаунта
или закройте эту хрень