【问题标题】:PHP Calling Server Scripts - WILL NOT CONTINUE after callPHP 调用服务器脚本 - 调用后不会继续
【发布时间】:2012-02-17 10:36:48
【问题描述】:

对,我在 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。

非常感谢任何帮助。

【问题讨论】:

标签: php python system exec nohup


【解决方案1】:

引用exec doc

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

你应该试试这个:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-14
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 2010-12-10
    相关资源
    最近更新 更多