我想构建一个 RESTful API。我在 MAC 上工作,我安装了 XAMPP 服务器。我有一个 Python 脚本,我想从 PHP 调用它。我的 PHP 文件如下所示:$output = shell_exec("python $pyfilepath $post->id $post->name");echo $output;这没有问题。我的 python 代码如下所示:import sys#import mysql.connectordef my_results(id,name): print("My args are:",id,name)if __name__ == '__main__': my_results(sys.argv[1],sys.argv[2])我可以读取参数并将其传递给 python 脚本,但是如果我尝试激活:import mysql.connector我没有从 my_results 定义中得到任何结果。我的一切都建立在 python 上,我只需要调用我的脚本。知道有什么问题吗?谢谢
2 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
请试试这个:
#!/usr/bin/env php
ob_start();
passthru("python $pyfilepath $post->id $post->name");
$output = ob_get_clean();
或者试试这个
$output = shell_exec(escapeshellcmd("python $pyfilepath $post->id $post->name"));
echo $output;
尝试一个简单的脚本 test.py
#!/usr/bin/env php
print("hello")
并这样称呼它
$output = shell_exec(escapeshellcmd("test.py"));
echo $output;
慕莱坞森
TA贡献1810条经验 获得超4个赞
经过大量搜索,我更改了:
$output = shell_exec("python $pyfilepath $post->id $post->name");
到:
$output = shell_exec("/anaconda3/bin/python3 $pyfilepath $post->id $post->name");
它奏效了。
- 2 回答
- 0 关注
- 85 浏览
添加回答
举报
0/150
提交
取消