写个页面的东西,来执行服务器上命令,最简单的比如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 代码如下:
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 重新测试
搞定了
。。。。。。一说都是泪啊,因为一个目录的权限,折腾啊