有时候,我们自己可以DIY一个控制面板实现Linux的关机重启功能。众所周知,Linux是一个基于文件的操作系统,所以要实现系统的关机重启功能必须满足以下两点
知道命令的绝对路径
在Linux下操作的时候,我们们直接敲入命令即可。但用PHP执行Linux命令就不能这么操作了,需要知道命令的绝对路径。
/sbin/reboot
重启命令reboot绝对路径/sbin/shutdown
关机命令shutdown绝对路径
用PHP执行Linux命令
PHP有许多函数可以执行Linux命令,之前我有在博客介绍过《PHP执行Linux命令函数》。这里推荐使用exec函数。
// 琼台博客 www.qttc.net
// 返回命令执行结果,注意命令要写绝对路径
exec('/sbin/reboot');
给重启命令添加权限
Linux的权限表现的非常细腻,默认reboot权限只能root拥有,想要PHP执行关机只能给reboot命令相应权限
- 把Nginx/Apache的操作组加入一个管理组,比如Web。然后把reboot加入管理组,给组加
x
命令 - 直接
chmod 4777 /sbin/reboot
回车搞定,但不建议,因为这样等于所有用户都有重启权限了