Параметр 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 через панель управления.

Для этого необходимо:

  1. Авторизоваться в панели хостинга.
  2. Перейти в настройки PHP.
  3. Найти параметр max_execution_time.
  4. Указать новое значение.
  5. Сохранить изменения.

Этот способ удобен для пользователей без доступа к системным файлам сервера.

Изменение через 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, панель управления хостингом или непосредственно в коде. Правильно подобранный лимит обеспечивает стабильную работу сайта и предотвращает преждевременное завершение важных процессов.