您的位置:首页 > 运维架构 > Shell

php调用shell脚本--126错误

2013-10-18 17:15 363 查看
写个页面的东西,来执行服务器上命令,最简单的比如reboot命令,用php来调用 参考网上方法如下
先建立一个脚本( /root/reboot_server.sh ),重启用的。
代码如下:
#!/bin/bash
reboot

再给他赋予权限 4755
chown root:root /root/reboot_server.sh
chmod 4755 /root/reboot_server.sh
chmod 4777 /sbin/reboot

再在 php 里, 想办法做如下调用 php
reboot.php 代码如下:

<?php
exec ("/root/reboot_server.sh",$out,$status);
print_r($out);
print_r($status);
?>
然后,通过页面来访问reboot.php(lnmp平台做了虚拟主机,可以通过域名来访问x.x.com/reboot.php)
其结果返回 126的状态码,搜索网上解决方案,一直无果

索性将/root/reboot_server.sh移到了和reboot.php 同一个目录中
访问,可以了,返回状态码0 系统重启了

意识到是目录权限的问题,/root目录对php的用户www没有可执行权限
chmod -R 755 /root
然后把reboot_server.sh移动到了/root 重新测试

搞定了

。。。。。。一说都是泪啊,因为一个目录的权限,折腾啊
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: