1

我正在尝试从 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]
4

1 回答 1

2

那是因为你的 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 代码。它只能运行脚本并对脚本的输出做一些事情。

于 2018-02-16T12:32:48.933 回答