Мне нужно запустить скрипт PHP, который я написал как задачу на моем сервере - PullRequest
0 голосов
/ 23 марта 2019

Мне нужно запустить PHP-скрипт, который очищает веб-сайт от данных, и мне нужно запустить его на моем VPS с Linux. Я хочу запустить его как задачу, чтобы у меня была возможность выйти из системы с моим VPS, а скрипт продолжал работать в фоновом режиме.

Я читал о работе CRON, но это больше похоже на планирование и повторяющиеся задачи; но мне нужен скрипт PHP только один раз.

Есть ли в PHP способ сделать это? Пожалуйста, помогите, я просто новичок в этом.

Заранее спасибо! :)

Я пробовал это как работу CRON, но, похоже, это не соответствует моей конкретной цели.

поэтому я запускаю свой скрипт вот так из терминала.

php scrapethewebsite.php

и тогда это показывает

Started scraping at 10:03:00 20-03-2019


и я не могу выйти или закрыть соединение vps / ssh.

Я ищу

php scrapethewebsite.php
Started scraping at 10:03:00 20-03-2019

и тогда я смогу выйти из системы или закрыть соединение. И тогда я смогу выключить компьютер и отправиться на прогулку ..

Ответы [ 2 ]

1 голос
/ 23 марта 2019

Да, вы можете сделать это с экрана.Экран большую часть времени уже установлен в Linux VPS.но, тем не менее, вы можете получить по команде.

apt-get install screen

Это дает вам возможность иметь несколько экранов в VPS, где вы можете запускать несколько задач одновременно.Как у вас есть.Получите экран с командой.

screen -S sessionname

имя сеанса будет вашим именем экрана.и вы можете отправить его с помощью команды / CTRL + A, а затем D., затем вы можете закрыть свою замазку или любой другой инструмент через доступ к вашему vps.Ну вот.Для получения дополнительной информации вы можете перейти по этой ссылке. Экран в Linux

0 голосов
/ 23 марта 2019

Запустите это в вашем сеансе SSH, затем вы можете нажать X и закрыть его, и он все равно будет работать

nohup php scrapethewebsite.php >/dev/null 2>&1 &

чтобы проверить, работает ли ваш файл, введите эту команду

top

вы должны увидеть там php-файл и нажать пробел, чтобы обновить список

_____________________________________________________________________

Если в вашем php-скрипте время от времени возникает какая-то ошибка или просто заканчивается время выполнения, и вы хотите перезапустить его, когда он закроется .. вам нужно создать файл .sh с циклом while внутри и запустить nohup на нем, чтобы он снова запустил php-файл после ошибки.

Если вы хотите использовать nohup в php-файле, который нужно время от времени перезапускать, то вам следует сделать следующее

$ echo 'while true ; do php scrapethewebsite.php ; done > /dev/null' > ~/php_run_loop.sh
$ chmod a+x ~/php_run_loop.sh
$ nohup ~/php_run_loop.sh

ПРИМЕЧАНИЕ: Если у вас есть ошибка или другая проблема в вашем php-скрипте, это заставит его работать снова и снова без каких-либо ограничений, навсегда.

...