是的,我在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。
非常感谢任何帮助。
答案 0 :(得分:2)
引用exec doc:
如果使用此功能启动程序,为了使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。如果不这样做将导致PHP挂起,直到程序执行结束。
你应该试试这个:
exec('nohup python /home/process/script.py -i '.escapeshellarg($location).' &>/dev/null &');