【问题标题】:Running Python script from PHP starting script, but not ending it从 PHP 启动脚本运行 Python 脚本,但不结束它
【发布时间】: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() 函数通过空格将它们全部打印在一行上。

【问题讨论】:

    标签: php python cv2


    【解决方案1】:

    system() 调用只给你命令输出的最后一行,它是调用的返回值。所以你想捕捉它。

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

    【讨论】:

    • 感谢您指出这一点,我编辑了问题。不幸的是,这对我没有帮助。
    猜你喜欢
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 2013-11-13
    • 2012-06-11
    相关资源
    最近更新 更多