问题
今天发现在使用定时器的时候,执行一个shell脚本,打印日志正常,然后在系统中不能查到当前Shell脚本执行的结果。
因为使用的是Web程序,对于Shell调用这块也是新手。以前没有遇到过这种问题,只能靠猜了。
判断
1、Shell脚本问题。
验证方式:进入系统控制台,然后直接调用脚本,验证脚本正常。排除脚本本身问题。
2、判断应该问题来自于权限
验证方式:进入控制台,查看执行日志author.log。果然上面提示账号权限有问题。
ls 查看Shell脚本信息,发现Web程序的用户和Shell脚本的权限用户不是同一个账号。将其修改为同一个账号,,再次启动程序问题解决。
结论:
类似问题基本上都是由以上两个方面引起的。有异常的时候多看下日志,基本上的问题都会打印出来的。
更多PHP相关知识,请访问PHP教程!
以上是解决PHP中Web程序中shell_exec()执行Shell脚本不成功问题的详细内容。更多信息请关注PHP中文网其他相关文章!