今天遇到一个问题,官方提供的api是用python写的,但是我本机的web程序是php写的,我也不想为了一个python-api重新用python来把php做过的事情重做一遍。所以就想用这种方式处理,php调用python 脚本传入参数, python接收参数,php接收返回值,这样完美兼容即可达到不重复造轮子,然后又可以完成项目需求的目的,yeap,废话少说,撸起袖子开干!
[参考地址]
我的实践:
<?php
$params = "1,2,3,5";
print 'test';
exec("python ~/mycode/phpdpython/t.py {$params}",$out,$re);
print_r($out);//$out中存放的是python脚本中输出的值,即为print()函数所输出的所有数据,每次print()都会记录为一条字典数据
if($re==0){//$re参数为执行情况的状态码,如果执行成功,返回0,否则返回一个非0数
echo "ok";
}else{
echo "error";
}
?>
/** t.py
import sys
a=sys.argv[1].strip().split(',')
print(list(a))
*/
使用 2>&1, 命令就会输出shell执行时的错误到$output变量, 输出该变量即可分析
exec('convert a.jpg b.jpg 2>&1', $output, $return_val);
print_r($output);