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

Стандартное время работы 30 сек, при привышении скрипт останавливается с ошибкой.

Самый простой метод увеличит:

set_time_limit(0); // выполнять скрипт бесконечно
set_time_limit(90); // выполнять скрипт 90 сек

Но бесконечно скрипт если у вас shared хостинг выполнятся с большей вероятность не будет, так как почти у большинство хостингов будет стоять ограничение выполнения пхп скрипта до 300 секунд.

Как это обойти не покупая vps сервер?
Единственный вариант это запустить php скрипт из терминала, подсоединитесь к вашему хостингу через putty, и:

cd /перейдите в директорию где ваш скрипт расположен
cd /opt/php/7.3/bin/php -f /var/www/data/www/site.ru/run.php


Минус такого способа, что нужно всегда держать терминал с открытым скриптом запущенным. Если закрыть терминал, скрипт закончит работу.
Если вы попробуете воспользоваться в скрипте технологией демона (функция pcntl_fork(); ) то скорее всего помимо ограничений в nginx присутствует лимит FastCGI - 300 секунд.

Продвинутый вариант это купить VPS план на хостинге.
После этого нужно скорректировать настройки в конфигурационном файле используемой версии php (например, указав ограничение в 900 секунд):

max_execution_time = 900
max_input_time = 900


Помимо этого может понадобиться увеличить лимиты при использовании fastcgi:

FcgidConnectTimeout 900
FcgidIdleTimeout 900
IPCCommTimeout 900

Также если будет использоваться Nginx в качестве бэкэнда:

proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
send_timeout 900;



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы