启动PHP后台进程时出现问题

时间:2011-01-11 05:35:32

标签: php process background

我最近创建了一个需要在后台运行的脚本..我使用此代码运行它...

function run_in_background($Command, $Priority = 0) {
   if($Priority)
       $PID = exec("nohup nice -n $Priority $Command 2> /dev/null & echo $!");
   else
       $PID = exec("nohup $Command 2> /dev/null & echo $!");
   return($PID);
}

并像这样使用

run_in_background('curl http://www.mydomain.com/mypage.php',5);

不幸的是,它没有在后台运行......

我也用过:

shell_exec

而不是

exec

但它仍然不起作用..我的设置有问题吗?..

注意:它不在后台运行,但确实在页面加载时运行...

感谢先进..

2 个答案:

答案 0 :(得分:0)

在命令末尾放置一个&,告诉shell在后台运行该进程。

$PID = exec("nohup nice -n $Priority $Command 2> /dev/null & echo $! &");

我也问过并回答了一个类似的问题,你可以看一下可以帮助你:How can I run a PHP script in the background after a form is submitted?

答案 1 :(得分:0)

请看这个答案,似乎正是您所寻找的:

php execute a background process