@9StarRu

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

На сервере Ubuntu 18.04 (PHP модуль Apache 8.1.2) запустил php скрипт с помощью
while (true){
вчера в 15 часов, скрипт перестал выполняться в 3 часа, т.е. проработал около 12 часов, в логах ошибок нет.
В php.ini перед запуском скрипта изменил на:

max_execution_time = 0

max_input_time = -1

Что еще необходимо изменить, чтобы скрипт выполнялся дольше?

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

Можно ли написать какую-то функцию, которая будет проверять время и если оно перестало обновляться - будет запускать скрипт?
  • Вопрос задан
  • 232 просмотра
Пригласить эксперта
Ответы на вопрос 2
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Просто возьмите за правило - не запускайте долгоиграющие скрипты через веб-сервер
Используйте для этого командную строку
https://www.php.net/manual/ru/features.commandline.php

Какие бы настройки не выставили в PHP, но если для запуска используется веб-сервер nginx/apache то для этого выделяется воркер веб сервера который висит, и который сдохнет рано или поздно, независимо от настроек самого PHP и тогда работающий процесс PHP который он создал тоже умрет.
Ответ написан
Комментировать
smorman
@smorman
When In Rome do as The Romans do...
В Cron задание напиши и делов то...
Всё делается на ура им в то время, которое укажешь...

У меня например так скриптик один работает через crontab, каждые 8 часов:
0 */8 * * * php /opt/acelist/as.php /opt/lists/as

Или таймер в systemd сделай...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы