您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php利用exec执行shell脚本有关问题

2025/12/13 2:40:00发布16次查看
php利用exec执行shell脚本问题
先说下我想做的事情:
     将linux下的操作,web化,使用户可以通过web端进行基本的操作,但是现在在写创建目录的代码:
      $mkdir_command = /home/myname/myshell/mkdir.sh /$directory/ $name;
      exec($mkdir_command,$output,$return);
       .....
     我也知道在web端执行shell脚本,其实在linux下是以apache的权限来运行的,
      但是在linux下我将mkdir.sh在运行时的权限修改为root的了,也就是说任何调用该文件的用户在执行的时候都是以root的权限来执行的:chmod 777 mkdir.sh ;  chmod u+s mkdir.sh   
但是在网页端还是执行不成功。
单独在linux下是可以执行成功的,
希望大家发表一下意见或者看法,谢谢!!
------解决方案--------------------
apache对该目录要有写的权限
------解决方案--------------------
1.web将结果写到 一个文件里 例如需要创建什么 到哪创建
2.linux root 定时 调用 shell 查看文件是否存在需要更动的内容 
如果是 这个时候就是用root 来操作了
建一个定时器就是了.
------解决方案--------------------
你得查看你有没有执行权限
system/exec先执行一条其他简单的命令比如:ls 、ifconfig看看能否执行成功
再去检查.sh文件的权限问题
------解决方案--------------------
linux下输入visudo
然后我们在最后追加
apache all=nopasswd:/bin/sh
然后
php执行exec(/usr/bin/sudo /bin/sh /xxx/xxx.sh)
/xxx/xxx.sh 是你要执行的脚本
看看这篇文章吧,可以解决你的问题
http://blog.csdn.net/vindo/article/details/3610587
------解决方案--------------------
加 sudo
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product