[英]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.