我正在使用php设置一个SOAP服务器。在处理SOAP请求时,我需要调用一些现有的python脚本。这些脚本通常返回3个值:success、description和data。
如何将这三个值全部传递回php?
我的要求是:
exec('python test.py', $output);
test.py可以:
from getData import getData
status, description, data = getData()
return status, description, data
我现有的python如下所示:
def getData():
database = Database()
# get all the Data from the db
data = database.getData()
if data is None:
return False, "...notes...", ""
return True, "...notes...", data
我不确定test.py中的返回是否正确。但即使是这样,当我看到varòu dump($output)时,我看到的只是“Array”
有人有什么想法吗?
蒂亚
布赖恩
由于
exec()
调用接收到变量$output
的shell输出,因此无法从Python函数接收返回的字符串。您必须打印它们,而不是返回它们,并且每个打印行都将进入exec()
数组$output
。主脚本必须将值打印到stdout:
在PHP中,检查返回的输出:
您需要将Python中的
print
语句格式化为可以轻松解析PHP中的值的格式,例如每行一个值,或者可以explode()
的key:value对。相关问题 更多 >
编程相关推荐