php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
注:本次问题产生的环境是建议在windows环境下,利用IIS+PHP去调用Python脚本失败的前提下。如果你的环境与本次问题的环境不符。请自动规避。
在产品需求分析到一定阶段,各个部门之间需要一定的协调。然后我们做全栈开发的就需要把这些都笼统协调起来。也就出现了后台同时去调起不同模块、不同开发语言的需求。
首先后台使用的是IIS+PHP的环境,且运行在windows上。通过PHP去调用Python的程序。
先说问题:在Python、PHP都加入系统的环境变量(且在cmd的模式下能正常运行)的前提下,通过运行a.php去调起1.py
PHP代码(a.php)
$result = exec("py 1.py");
var_dump($result);
Python代码(1.py)
print("123");
fl=open('test3.txt', 'w')
fl.write("5,5,5,1,2,3")
fl.close()
两个目录文件在同一目录下。且IIS可执行权限给足(为了重现问题所在,就写了最简单的代码)然后就出现了运行报错。
然后我将PHP代码改进,查看exec函数执行的错误状态码
$result = exec("py 1.py", $array, $ret);
var_dump($result);
var_dump($array);
var_dump($ret);
发现错误码为103(执行错误)
【