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

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

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

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

Ответы на вопрос(5)

Вы должны предотвратить завершение процесса, когда сеанс отключается.

Примерно так будет работать:

nohup php myscript.php

 musicliftsme26 июн. 2012 г., 18:14
Это работает также. Спасибо! Есть ли способ узнать, запущен ли процесс предыдущего сеанса в новом сеансе?
 26 июн. 2012 г., 17:56
ps a показывает только текущие процессы сеанса. Посмотри наверх.
 musicliftsme26 июн. 2012 г., 17:50
Махмуд, я пытаюсь это прямо сейчас. После запуска этой команды, закрытия замазки и повторного подключения я не вижу процесса, когда набираюps a, Это нормально?
 musicliftsme26 июн. 2012 г., 18:35
Я думаюps a показывает процесс экрана в любом сеансе. Это будет работать для меня.

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

php ./yourscript.php &
 26 июн. 2012 г., 12:56
 26 июн. 2012 г., 06:13
Фоновый процесс не позволяет ему пережить завершение сеанса.

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

Решение Вопроса

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

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

screen php /path/to/myphpscript.php

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

screen -r

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

 musicliftsme26 июн. 2012 г., 18:12
Это хорошо работает. Я сделал: 1:screen чтобы попасть на экран. 2:php my_scripy.php запустить скрипт. 3: с этого момента я могу подключиться или отсоединиться от экрана, и сценарий продолжается до его завершения.

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

Ваш ответ на вопрос