У меня есть 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. И они работают нормально. Но через час он автоматически останавливается.
Я думаю, я делаю правильно. Но я не знаю, что убивает этот процесс.
Если не,
Я хочу знать, что Как запустить этот скрипт в течение неограниченного времени.
То, что вы делаете, правильно. Это должно бежать. У меня есть PHP-скрипты, которые работают намного дольше часа. Они бегают целыми днями. У меня также есть программы, которые не являются PHP, которые должны работать вечно, но не работают. Это потому, что они умирают из-за ошибки в программе. Например, xscreensaver умирает от меня примерно раз в неделю. Чтобы он работал, я использую этот скрипт оболочки (который вы можете использовать для поддержки работы PHP):
while:
do
xscreensaver &
wait
done
Теперь, запустив этот сценарий оболочки, вы снова запустите программу, если она по какой-либо причине умирает.
Если у вас есть консольный доступ, попробуйте использовать 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