从PHP开始脚本运行Python脚本,但不结束脚本

时间:2018-08-01 15:22:59

标签: php python cv2

我正在尝试从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 个答案:

答案 0 :(得分:0)

system()调用仅给出命令输出的最后一行,它是该调用的返回值。所以您想捕获它。

$response = system('./main.py');
echo 'success - response = ' . $response;