使用命令行作为后台进程运行PHP文件

时间:2015-02-13 14:32:25

标签: php command-line 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上找到了这些命令。这些都运行良好。但一小时后,它会自动停止。

我想,我做对了。但我不知道,这正在扼杀这个过程。

如果没有,

我想知道如何在无限时间内运行此脚本。

2 个答案:

答案 0 :(得分: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

确保在cron-job中使用php-command

注意:您需要管理员权限才能编辑/使用cron-jobs

答案 1 :(得分:0)

你在做什么是正确的。它应该运行。我有PHP脚本运行超过一个小时。他们连续几天都跑了。我也有非PHP的程序应该永远运行,但不是。这是因为他们因程序中的错误而死亡。例如,xscreensaver每周大约一次死在我身上。为了让它保持运行,我使用这个shell脚本(您可以使用它来保持PHP运行):

while:
do
    xscreensaver &
    wait
done

现在,如果程序因任何原因而死亡,那么运行该shell脚本将再次启动该程序。