Параметр max_execution_time в PHP определяет максимальное время выполнения одного скрипта в секундах. Если сценарий не успевает завершить работу за установленный промежуток времени, PHP принудительно останавливает его выполнение и выводит ошибку. Увеличение данного лимита необходимо для обработки больших объемов данных, резервного копирования, импорта файлов и выполнения ресурсоемких операций.
Что такое max_execution_time
Директива max_execution_time ограничивает время работы PHP-скрипта на сервере. Значение указывается в секундах.
Примеры:
- max_execution_time = 30 — выполнение ограничено 30 секундами.
- max_execution_time = 60 — выполнение ограничено одной минутой.
- max_execution_time = 300 — выполнение ограничено пятью минутами.
- max_execution_time = 0 — ограничение отключено.
На большинстве хостингов по умолчанию используется значение 30 секунд.
Когда требуется увеличить лимит
Изменение max_execution_time может понадобиться в следующих ситуациях:
- Импорт больших баз данных.
- Экспорт данных из CMS.
- Создание резервных копий сайта.
- Загрузка крупных файлов.
- Обработка изображений и видео.
- Выполнение сложных PHP-скриптов.
Особенно часто проблема возникает на сайтах с большим объемом данных и интернет-магазинах.
Ошибка превышения времени выполнения
При достижении лимита PHP обычно выводит сообщение:
Fatal error: Maximum execution time of 30 seconds exceeded
Это означает, что скрипт не успел завершить работу в установленный срок.
Как проверить текущее значение
Узнать текущий лимит можно через функцию phpinfo().
<?php phpinfo(); ?>
После открытия файла в браузере найдите параметр max_execution_time.
Также можно использовать следующий код:
<?php echo ini_get('max_execution_time'); ?> Изменение через php.ini
Основной способ настройки заключается в редактировании файла php.ini.
Найдите строку:
max_execution_time = 30
И измените значение:
max_execution_time = 300
После сохранения конфигурации необходимо перезапустить веб-сервер или службу PHP-FPM.
Настройка через .htaccess
На серверах Apache параметр можно изменить через файл .htaccess.
php_value max_execution_time 300
При необходимости также можно увеличить время обработки входящих данных:
php_value max_input_time 300
Изменение через .user.ini
На виртуальном хостинге часто используется файл .user.ini.
Добавьте строку:
max_execution_time = 300
После сохранения изменения обычно вступают в силу автоматически через несколько минут.
Настройка через панель управления хостингом
Многие провайдеры позволяют менять параметры PHP через панель управления.
Для этого необходимо:
- Авторизоваться в панели хостинга.
- Перейти в настройки PHP.
- Найти параметр max_execution_time.
- Указать новое значение.
- Сохранить изменения.
Этот способ удобен для пользователей без доступа к системным файлам сервера.
Изменение через PHP-код
Для отдельных скриптов лимит можно изменить программно.
<?php set_time_limit(300); ?>
В данном примере скрипт сможет выполняться до пяти минут.
Некоторые хостинги могут запрещать использование функции set_time_limit().
Настройка PHP-FPM
На выделенных серверах и VPS с PHP-FPM лимит может задаваться в конфигурации пула.
php_admin_value[max_execution_time] = 300
После изменения настроек потребуется перезапуск службы PHP-FPM.
Какое значение выбрать
Рекомендуемое значение зависит от задач сайта:
- Обычный сайт — 30–60 секунд.
- Корпоративный портал — 60–120 секунд.
- Интернет-магазин — 120–300 секунд.
- Импорт и резервное копирование — от 300 секунд.
Не рекомендуется устанавливать слишком большие значения без необходимости, так как это может увеличить нагрузку на сервер.
Дополнительные параметры
При увеличении времени выполнения часто изменяют и другие настройки PHP:
- max_input_time.
- memory_limit.
- post_max_size.
- upload_max_filesize.
Комплексная настройка помогает избежать ошибок при обработке больших файлов и объемных запросов.
Распространенные ошибки
- Изменение неактивного файла php.ini.
- Отсутствие перезапуска сервера.
- Ограничения со стороны хостинга.
- Конфликт настроек PHP-FPM и Apache.
- Слишком низкое значение memory_limit.
Если изменения не применяются, рекомендуется проверить текущие параметры через phpinfo().
Заключение
Изменение max_execution_time в PHP позволяет устранить ошибки, связанные с превышением времени выполнения скриптов. Настройка может выполняться через php.ini, .htaccess, .user.ini, PHP-FPM, панель управления хостингом или непосредственно в коде. Правильно подобранный лимит обеспечивает стабильную работу сайта и предотвращает преждевременное завершение важных процессов.

