从 PHP 启动脚本运行 Python 脚本,但不结束它
Posted
技术标签:
【中文标题】从 PHP 启动脚本运行 Python 脚本,但不结束它【英文标题】:Running Python script from PHP starting script, but not ending it 【发布时间】:2018-08-01 15:22:59 【问题描述】:我正在尝试从 php 运行 Python 脚本。我已经尝试过使用:system()、exec() 和 shell_exec() 函数。现在我的 PHP 看起来像:
<?php
system('./main.py');
echo 'succes';
?>
我在 Python 脚本中创建了一些 print() 函数,发现它停在这一行:
QueryImgBGR = cv2.imread(image_path)
PHP echo() 正在工作,尽管 system() 函数没有结束。从控制台运行 Python 脚本正在运行。
我正在使用 Python 3.5.3(使用 numpy、cv2 和 os 库)和 PHP 7.2.4(system()、shell_exec()、exec() 函数解锁)开发 Debian 4.9.30。
编辑: Python 中的 print() 函数在新行上打印,但 system() 函数通过空格将它们全部打印在一行上。
【问题讨论】:
【参考方案1】:system() 调用只给你命令输出的最后一行,它是调用的返回值。所以你想捕捉它。
$response = system('./main.py');
echo 'success - response = ' . $response;
【讨论】:
感谢您指出这一点,我编辑了问题。不幸的是,这对我没有帮助。以上是关于从 PHP 启动脚本运行 Python 脚本,但不结束它的主要内容,如果未能解决你的问题,请参考以下文章
如何使 PHP 永久运行脚本“忘记”一切并几乎像重新启动一样执行