PHP实现Linux关机重启功能

有时候,我们自己可以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回车搞定,但不建议,因为这样等于所有用户都有重启权限了
分享

TITLE: PHP实现Linux关机重启功能

LINK: https://www.qttc.net/92-php-reboot-shutdown-linux.html

NOTE: 原创内容,转载请注明出自琼台博客