我正在尝试从PHP调用Python脚本。但是,我无法弄清楚如何将结果返回到我的PHP脚本以便在那里使用它。我的PHP脚本如下:
<?php
$input = 'help';
$output = passthru("/usr/bin/python3.5 /path/test.py '$input'");
echo $output;
?>
虽然我的python脚本'test.py'是:
import sys
json2 = sys.argv[1]
那是因为您的python脚本什么都没有返回。只是做:
json2 = sys.argv[1]
仅将值分配给json2
。我怀疑您正在尝试做类似的事情:
import sys
json2 = sys.argv[1]
print json2
似乎正常工作:
~ # php -a
Interactive shell
php > $input = 'help';
php > $output = passthru("/usr/bin/python test.py '$input'");
help
更新:
根据您的评论。您正在寻找exec()
:
~ # php -a
Interactive shell
php > $input = 'help';
php > $output = exec("/usr/bin/python test.py '$input'");
php > echo $output;
help
请注意,您的Python脚本具有输出某些内容。仅分配变量就无法正常工作,因为PHP无法为您解释您的Python代码。它只能运行脚本并使用脚本的输出做点事。