Запуск PHP-скрипта полностью на стороне сервера
У меня проблема, когда шпатлевка регулярно отключается. Поэтому, когда я запускаю PHP-скрипт с терминала, он всегда прерывается. Сценарий должен работать несколько часов, так что мне с ним не везет.
Как я могу полностью запустить это со стороны сервера? Я читаю о работе в cron, но в настоящее время мне трудно понять. Есть ли какая-либо альтернатива cron для того, что мне нужно?
У меня есть несколько PHP-файлов сценариев, которые необходимо запустить, один по одному или, может быть, по двое за раз. Есть какие-нибудь идеи?
5 answers
Вам не нужно оставлять его запущенным в задании cron - вы можете просто запустить php-скрипт внутри экрана.
Просто введите;
screen php /path/to/myphpscript.php
Экран будет продолжать работать даже после отключения от PuTTY. Если вам нужно проверить это, вы можете использовать;
screen -r
Чтобы снова подключиться к этому процессу и просмотреть любые выходные данные.
Вам необходимо предотвратить завершение процесса при отключении сеанса.
Что-то вроде этого сработало бы:
nohup php myscript.php
Вы можете создать задание cron для периодического запуска php-скрипта на основе списка временных задач. Дополнительная информация . Вы также можете запустить задачу в фоновом режиме с консоли. т.е. php-cgi script.php&
это сделает сценарий фоновой задачей
Взгляните на Экран GNU; он позволяет отсоединять и повторно подключать сеанс позже, что идеально подходит для длительных сценариев. Cron - хороший вариант, если вы хотите, чтобы это происходило регулярно; разовые пакетные задания можно запланировать с помощью чего-то вроде в . Для более интенсивных вычислительных потребностей вам может потребоваться изучить более полноценную систему планирования заданий, такую как TORQUE.
Вы можете запустить свою программу в фоновом режиме
php ./yourscript.php &