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 重新测试
搞定了
。。。。。。一说都是泪啊,因为一个目录的权限,折腾啊
先建立一个脚本( /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 重新测试
搞定了
。。。。。。一说都是泪啊,因为一个目录的权限,折腾啊
相关文章推荐
- 使用php调用shell脚本同步文件
- php传参调用shell脚本执行代码
- shell调用php脚本,并传递参数
- PHP调用shell脚本注意事项
- shell脚本调用php代码
- gitlab webhook php exec 调用 shell 脚本。shell 脚本中调用 git pull 命令无法执行。
- shell调用php脚本,并传递参数
- 写shell脚本调用php文件
- php调用shell脚本(web端和客户端同时实现)
- 用popen实现在PHP代码异步调用服务器端的shell脚本
- PHP 调用shell 脚本 报错 /sbin/nologin
- shell调用php脚本,并传递参数
- 用popen实现在PHP代码异步调用服务器端的shell脚本
- oozie调用shell脚本报脚本找不到的错误
- php调用shell脚本(web端和客户端同时实现)
- PHP调用shell脚本导致的中文显示问号的解决方案
- PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
- 利用php利用root权限执行shell脚本必须进行以下几个步骤
- 在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)
- php利用root权限执行shell脚本(二)