
最开始写了个简单接口,通过system() 调用shell命令。发现shell脚本并没有执行。百度了一番说有可能跟php配置有关系:https://blog.csdn.net/weixin_29344293/article/details/115204347
但是我确认了,我的php环境没有被禁用。于是仔细check了下,发现是脚本名字写错了。改了之后,再次执行,发现接口返回的response跟我预期的不符
我预期就是返回 $ret 变量内容,但实际上shell脚本里的echo内容也返回了,也就是说接口的返回是包含 $ret 和 shell脚本两部分的
解决方法:将shell脚本里的echo输出到文件内容里即可

备注,如果执行shell太长,导致接口超时,可以用nohup的方式执行:

网友评论