Запуск PHP-файла с использованием командной строки в качестве фонового процесса

У меня есть Centos VPS хостинг и установлен WHM / cPanel. Я хочу запускать php-скрипт с использованием командной строки в течение неограниченного времени.

Мой сценарий выглядит так:

<?php
set_time_limit(0);
while(true)
{
//code to send me email

sleep(600);
}
?>

Я знаю, что этот скрипт должен запускаться неограниченное время.

Я использовал эти команды:

php myfile.php &
nohup php myfile.php &

Я нашел эти команды на stackoverflow. И они работают нормально. Но через час он автоматически останавливается.

Я думаю, я делаю правильно. Но я не знаю, что убивает этот процесс.

Если не,

Я хочу знать, что Как запустить этот скрипт в течение неограниченного времени.

1

Решение

То, что вы делаете, правильно. Это должно бежать. У меня есть PHP-скрипты, которые работают намного дольше часа. Они бегают целыми днями. У меня также есть программы, которые не являются PHP, которые должны работать вечно, но не работают. Это потому, что они умирают из-за ошибки в программе. Например, xscreensaver умирает от меня примерно раз в неделю. Чтобы он работал, я использую этот скрипт оболочки (который вы можете использовать для поддержки работы PHP):

while:
do
xscreensaver &
wait
done

Теперь, запустив этот сценарий оболочки, вы снова запустите программу, если она по какой-либо причине умирает.

0

Другие решения

Если у вас есть консольный доступ, попробуйте использовать cronjob для запуска этого файла.

увидеть : https://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-autotasks.html

также : http://alvinalexander.com/linux/linux-crontab-file-format-example

Убедитесь, что вы используете php-команду в cron-job

Примечание: вам потребуются права администратора для редактирования / работы с cron-jobs

0

По вопросам рекламы ammmcru@yandex.ru