exec ( string $command [, array &$output [, int &$return_var ]] ) : string

备注:
exec有3个参数,第一个是要执行的命令,第二个是参数是一个数组,数组的值是由第一个命令执行后生成的,第三个参数执行的状态,0表示成功,其他都表示失败。
查看具体信息需要使用 2>&1, 命令就会输出shell执行时的错误到$output变量, 输出该变量即可分析。

PHP代码如下,我这里用了thinkphp5的框架,代码写在了控制器中

namespace app\admin\controller;
use think\Controller;

class Test extends Controller{
public function php_python(){
exec('D:\Programs\Python\Python38-32\python.exe main.py 2>&1', $output, $return_val);
print_r($output);exit;
}


}

我的python安装在了D:\Programs\Python\Python38-32目录下

php代码调用python程序代码_python


python代码如下:

#coding=utf-8
print("hello,world!")

我在这里测试了一下main.py,输出了如下的结果

php代码调用python程序代码_php_02


接着把main.py拷贝到thinkphp的public目录下

php代码调用python程序代码_数组_03


请求上面控制器中写的测试方法,页面返回了和上面测试的一样的结果

php代码调用python程序代码_数组_04