php启动php脚本并继续
目前,我有一行代码如下:php启动php脚本并继续,php,system,exec,continue,passthru,Php,System,Exec,Continue,Passthru,目前,我有一行代码如下: system("/usr/bin/php myphpscript.php --param=".val); 有没有一种方法可以让php不必等待脚本完成,而是继续前进 这是一个循环移动的电子邮件,myphpscript.php正在解析邮件。我不想每次都等到myphpscript.php完成,只要启动它,继续前进 更新解决方案 在这里找到了答案: 经验: /dev/null 我需要写一些其他的东西,STDOUT,否则PHP将挂起,直到脚本完成。所以我改为写/dev/nul
system("/usr/bin/php myphpscript.php --param=".val);
有没有一种方法可以让php不必等待脚本完成,而是继续前进
这是一个循环移动的电子邮件,myphpscript.php正在解析邮件。我不想每次都等到myphpscript.php完成,只要启动它,继续前进
更新解决方案
在这里找到了答案:
经验:
/dev/null
我需要写一些其他的东西,STDOUT,否则PHP将挂起,直到脚本完成。所以我改为写/dev/null
2>&1
将错误重定向到标准输出
&
本线程中提到的“在后台运行”
祝你有愉快的一天
- 杰克
- 杰克
exec("/usr/bin/php myphpscript.php --param=".val . '&');
如果脚本继续,将后台命令抛出到末尾: 系统(“/usr/bin/php myphpscript.php--param=“.val.”&”) 为了安全起见,我还添加了nohup,因为我认为当父php脚本完成时,这个子进程可能会被杀死:
系统(“nohup/usr/bin/php myphpscript.php--param=“.val.”&”) 我已经添加了您的更改,但是如果通过终端运行脚本,脚本仍在等待myphpscript.php完成。然后我的IMAP连接将超时。有没有办法让主脚本在启动下标后继续运行?这个解决方案+nohup为我提供了“nohup:redirecting stderr to stdout”+我的下标输出。没有nohup,只需给我下标输出。(在我的终端)。
exec("/usr/bin/php myphpscript.php --param=".val . '&');