PHP-скрипты, запускаемые с использованием команды "php", зависят от лимита времени ожидания? - PullRequest
9 голосов
/ 18 мая 2011

Работают ли PHP-скрипты с использованием команды "php" с учетом ограничения по времени ожидания? Я планирую планировать php-скрипты с использованием cron.

Ответы [ 3 ]

21 голосов
/ 18 мая 2011

Да, но вы можете установить неограниченное время ожидания, добавив его в начало вашего скрипта:

set_time_limit(0);
11 голосов
/ 18 мая 2011

Некоторые системы, такие как Ubuntu, фактически уже запускаются с отдельными конфигурациями CLI и Apache в /etc/php5.

Соответствующая команда в INI-файле:

max_execution_time = 30      ; Maximum execution time of each script, in seconds

Однако, если вы по какой-либо причине не можете изменить php.ini, вы можете создать новый php.ini с параметрами конфигурации, подходящими для командной строки, и указать файл таким образом:

php -c /path/to/ini/php.ini -f script.php

Или вы можете использовать решение Cailin и установить ограничение по времени в верхней части файла - но если вы работаете на сервере с включенным PHP в «безопасном режиме», вам придется использовать свой собственный INI-файл.

8 голосов
/ 18 мая 2011

Зависит. Если ваш бинарный файл php является интерфейсом CLI PHP, по умолчанию max_execution_time равен нулю (то есть ограничений нет).

С другой стороны, если это бинарный файл CGI старого стиля, вы будете зависеть от ограничения max_execution_time, и вам нужно будет позвонить set_time_limit, чтобы избавиться от него (при условии, что вы не в страшный PHP безопасный режим).

...