首页 > Web开发 > 详细

web: php 执行第三方命令或者shell脚本

时间:2020-08-04 19:21:54      阅读:110      评论:0      收藏:0      [点我收藏+]

今天在web-php后端脚本中执行外部shell脚本,使用了相对路径 ./../xx.sh 但是执行不成功,后来换成了绝对路径执行成功了,

考虑到因为php脚本包含导致的,路径不对了,但是使用绝对路径又不太好

可以使用

$cmd = __DIR__ . "/../xx.sh";

参考:

https://kb.kutu66.com/php/post_11452405

从PHP执行外部命令的一些常见故障来自 shell:

  • 命令使用相对路径,但PHP是从任意位置启动的:

  • PHP和 shell 使用不同的用户凭据运行。 当PHP通过web服务器运行时,这种情况常常发生。

  • PHP和 shell 运行不同的命令。 很多人都会像 exec("foo $bar") 一样调用内容,甚至不检查 "foo $bar" 包含什么内容。

  • 未完成错误检查。 最简单的方法是捕获和打印标准输出。标准错误。状态代码,当然还有所有PHP错误消息,包括警告和通知。

  • 不允许web服务器在操作系统级别执行该命令。

    • 查看 se linux或者类似工具。

web: php 执行第三方命令或者shell脚本

原文:https://www.cnblogs.com/ZhYQ-Note/p/13435204.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!