繁体   English   中英

从php函数执行python脚本?

[英]Executing python script from php function?

我想从php函数执行python脚本test.py

#!/usr/bin/env python
import random

def test() :
   print("test success")

if __name__ == '__main__':
    test()

我可以使用php命令行成功执行它:

php -r '$message = exec("python3 ~/../scripts/test.py"); print_r($message);' 

我在我的php代码中添加了以下内容:

$message = exec("python3 ~/../scripts/test.py", $output, $return_val); 

当我执行它时,什么都不会输出(devtools中没有错误)。 当我打印变量时, $output$message为空, $return_val为2( 根据Bash文档滥用shell内置函数)。

我知道将以下内容添加到同一函数后,即可使用exec()

if (exec('echo TEST') == 'TEST')
    {
      echo 'exec works!';
    }

是什么导致此错误? 如何使用php执行python脚本?

您的Web服务器不共享您的主目录,因此~将指向错误的位置。 请指定文件的完整路径。

找不到文件时, python3将以2退出,并在stderr上显示一条有用的消息。 Web服务器错误日志将确认这一点,并将在命令中添加2>&1以将stderr作为stdout捕获到变量中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM