在带有 XAMPP 的 MAC 上从 PHP 调用 Python 脚本

我想构建一个 RESTful API。我在 MAC 上工作,我安装了 XAMPP 服务器。我有一个 Python 脚本,我想从 PHP 调用它。


我的 PHP 文件如下所示:


$output = shell_exec("python $pyfilepath $post->id $post->name");

echo $output;

这没有问题。


我的 python 代码如下所示:


import sys

#import mysql.connector

def 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 上,我只需要调用我的脚本。知道有什么问题吗?


谢谢


莫回无
浏览 87回答 2
2回答

慕哥6287543

请试试这个:#!/usr/bin/env  phpob_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  phpprint("hello")并这样称呼它$output = shell_exec(escapeshellcmd("test.py"));echo $output;

慕莱坞森

经过大量搜索,我更改了:$output = shell_exec("python $pyfilepath $post->id $post->name");到:$output = shell_exec("/anaconda3/bin/python3 $pyfilepath $post->id $post->name");它奏效了。
打开App,查看更多内容
随时随地看视频慕课网APP