所以我试图从我的PHP代码执行一些脚本.它位于页面blah.php中
<?php
// ....
// just basic web site that allows upload of file...
?>
Run Code Online (Sandbox Code Playgroud)
在里面我使用系统调用
if (system("blah.pl arg1") != 0)
{
print "error\n";
}
else
{
print "working on it..you will receive e-mail at completion\n";
}
Run Code Online (Sandbox Code Playgroud)
工作得很好,但它一直等到它完成后才打印出来.我知道我从php调用perl脚本而不是拼写错误.
我怎样才能开始执行程序并让它在后台完成.blah.pl脚本处理电子邮件通知.
任何人?
谢谢,我很感激
Mar*_*arz 10
从系统功能文档:
注意:如果使用此功能启动程序,为了使程序继续在后台运行,程序的输出必须重定向到文件或其他输出流.如果不这样做将导致PHP挂起,直到程序执行结束.
只需重定向Perl脚本的输出,PHP就可以运行而无需等待脚本完成.
system("blah.pl arg1 > /dev/null 2>&1 &");
Run Code Online (Sandbox Code Playgroud)