注意事项
php 端在使用 exec 调用 python必须使用外部程序 $set_charset = ‘export LANG=en_US.UTF-8;’ 在调用命令前添加。 示例如下:
(1) Linux版本
$cmd = "python test.py {$djdm}"; $set_charset = 'export LANG=en_US.UTF-8;'; exec($set_charset.$cmd,$res_data,$res_state);
(2) Window版本 不能使用 $set_charset = ‘export LANG=en_US.UTF-8;’ 在调用命令前添加.
$cmd = "python ".PLUG_IN_DJBREAKS." {$djdm}"; exec($cmd,$res_data,$res_state)
php
执行命令
function test1(Request $request){ header("content-type:text/html;charset=utf-8"); $param = $request->param(''); // $inputs = array( // 'video_title' => "斗罗大陆", // 'video_type' => '1', // 'video_ji' => '1', // ); if($param['plat'] == 1){ $cmd = "python3 ".getcwd()."/python/tx_linux.py".' '.$param['name'].' '.$param['Type'].' '.$param['ji']; # 携带参数 }else if($param['plat'] == 2){ $cmd = "python3 ".getcwd()."/python/aqy_linux.py".' '.$param['name'].' '.$param['Type'].' '.$param['ji']; # 携带参数 } // $data = shell_exec( $set_charset.$cmd, $output, $res ); // $data = passthru($cmd);//等于命令`python python.py 参数`,接收打印的信息 // $data = shell_exec("$cmd 2>&1"); // 这样执行,打印报错信息 // $data = shell_exec($cmd); $set_charset = 'export LANG=en_US.UTF-8;'; // 必要,否则报错 linux $data = shell_exec($set_charset.$cmd); $qian = array(" "," ","\t","\n","\r"); $data = str_replace($qian, '', $data); // var_dump($cmd); // var_dump($data); if($data){ return json(['code'=>200,'data'=>$data]); }else{ return json(['code'=>403]); } }
python
接收参数
import sys name = sys.argv[1] #接收参数
·· 返回数据
# json_str =json.dumps(last_host); #返回给php # print(json_str);