目前我有一行代码如下:
system("/usr/bin/php myphpscript.php --param=".val);
有没有办法让php 不等待脚本完成 - 而只是继续前进?
这是一个循环移动电子邮件,myphpscript.php正在解析邮件。我不不要等到myphpscript.php每次都完成 - 只需启动并继续前进!
更新解决方案
在这里找到答案:
http://www.php.net/manual/en/function.exec.php#101506
passthru("/usr/bin/php myphpscript.php --param=".val." >> /dev/null 2>&1 &");
经验:
的/ dev / null的
我需要写一些其他的STDOUT,否则PHP会挂起直到完成脚本。所以我写信给/ dev / null。
2>&1
将错误重定向到STDOUT
&
“在后台运行”,如本主题所述。
祝你有个美好的一天!
插孔
插孔
答案 0 :(得分:0)
这应该有效
exec("/usr/bin/php myphpscript.php --param=".val . '&');
答案 1 :(得分:0)
将后台命令抛到最后,脚本应该继续:
system(“/ usr / bin / php myphpscript.php --param =”。val。“&”);
我还要添加nohup只是为了安全,因为我认为当父php脚本完成时,这个子进程可能会被杀死:
system(“nohup / usr / bin / php myphpscript.php --param =”。val。“&”);