0

对,我在 PHP 脚本中调用 Python 脚本。在调用 Python 脚本后,此 PHP 脚本需要继续。

我已经尝试了以下所有方法,但 PHP 坚持等到脚本响应。

都试过了:-

system('nohup python /home/process/script.py -i '.escapeshellarg($location).' &');
system('nohup python /home/process/script.py -i '.escapeshellarg($location).' 2>&1 &');
system('nohup python /home/process/script.py -i '.escapeshellarg($location).' < /dev/null 2>&1 &');
exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' &');
exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' 2>&1 &');
exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' < /dev/null 2>&1 &');

还尝试使用 passthru 并且没有 nohup。

非常感谢任何帮助。

4

1 回答 1

2

引用执行文档

如果使用此函数启动程序,为了使其继续在后台运行,程序的输出必须重定向到文件或另一个输出流。否则将导致 PHP 挂起,直到程序执行结束。

你应该试试这个:

exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' &>/dev/null &');
于 2012-02-17T10:48:28.357 回答