Как увеличить время выполнения PHP скрипта


Время выполнения php скрипта зависит от самого скрипта и действий, которые он совершает. Со стороны сервера максимальное время выполнения лимитируется параметром max_execution_time.

Скрипт на сервере начинает выполняться при первичном к нему обращении, он выполняется пока не завершится сам или пока не будет достигнуто максимальное время выполнения по достижении которого процесс прервется.

Также процесс можно прервать вручную выполнив в консоли команду kill с указанием идентификатора или pkill с указанием типа процесса.



PHP время выполнения скрипта (php.ini)


Существующие настройки PHP, в том числе значение max_execution_time, можно посмотреть в phpinfo


Сам параметр max_execution_time задается в файле php.ini. Значение определяется в секундах, может быть 90 секунд, 360, 3600 или любое другое.

Параметр существует для того чтобы прерывать зависшие скрипты, скрипты которые по какой-то причине не могут завершить работу. Такое может быть, например, если скрипт обращается к внешнему ресурсу, который недоступен.



Важно выбрать такое значение которого хватало бы для выполнения всех корректно работающих скриптов, но которое в то же время не было бы завышенным, чтобы функция параметра выполнялась.


Значение меняется в файле php.ini. Изменения вступают в силу после окончания времени жизни процесса, задаваемого max_execution_time или при перезапуске веб-севрера.

Время выполнения php скрипта


Стоит учитывать, что значение max_execution_time будет учитываться только при выполнении скрипта РНР с задействованием веб-сервера. Скрипты выполняемые из консоли или через CRON подпадать под действие данных ограничений не будут.



Если существует необходимость выставить ограничение на время выполнения скрипта в CRON (например, чтобы предотвратить повторный запуск через 1-2 минуты) задание CRON можно определять через wget — wget example.com/scripts/task.php



Если указать задание так:

cd /home/web/sitename/scripts && php task.php

max_execution_time не будет учитываться.


Также в php.ini задается ограничение максимального размера загружаемого файла.

Сказать спасибо
Categories: