Запуск PHP-скрипта полностью на стороне сервера


У меня проблема, когда шпатлевка регулярно отключается. Поэтому, когда я запускаю PHP-скрипт с терминала, он всегда прерывается. Сценарий должен работать несколько часов, так что мне с ним не везет.

Как я могу полностью запустить это со стороны сервера? Я читаю о работе в cron, но в настоящее время мне трудно понять. Есть ли какая-либо альтернатива cron для того, что мне нужно?

У меня есть несколько PHP-файлов сценариев, которые необходимо запустить, один по одному или, может быть, по двое за раз. Есть какие-нибудь идеи?

Author: svick, 2012-06-26

5 answers

Вам не нужно оставлять его запущенным в задании cron - вы можете просто запустить php-скрипт внутри экрана.

Просто введите;

screen php /path/to/myphpscript.php

Экран будет продолжать работать даже после отключения от PuTTY. Если вам нужно проверить это, вы можете использовать;

screen -r

Чтобы снова подключиться к этому процессу и просмотреть любые выходные данные.

 9
Author: Eoghan, 2015-02-09 02:25:00

Вам необходимо предотвратить завершение процесса при отключении сеанса.

Что-то вроде этого сработало бы:

nohup php myscript.php

 3
Author: Mahmoud Al-Qudsi, 2012-06-26 02:55:56

Вы можете создать задание cron для периодического запуска php-скрипта на основе списка временных задач. Дополнительная информация . Вы также можете запустить задачу в фоновом режиме с консоли. т.е. php-cgi script.php& это сделает сценарий фоновой задачей

 1
Author: secretformula, 2012-06-26 02:56:08

Взгляните на Экран GNU; он позволяет отсоединять и повторно подключать сеанс позже, что идеально подходит для длительных сценариев. Cron - хороший вариант, если вы хотите, чтобы это происходило регулярно; разовые пакетные задания можно запланировать с помощью чего-то вроде в . Для более интенсивных вычислительных потребностей вам может потребоваться изучить более полноценную систему планирования заданий, такую как TORQUE.

 1
Author: Wyatt Anderson, 2012-06-26 02:56:17

Вы можете запустить свою программу в фоновом режиме

php ./yourscript.php &
 0
Author: J.L., 2012-06-26 02:57:51