有时候,我们自己可以DIY一个控制面板实现linux的关机重启功能。众所周知,linux是一个基于文件的操作系统,所以要实现系统的关机重启功能必须满足以下两点

一、知道命令的绝对路径

在linux下操作的时候,我们们直接敲入命令即可。但用PHP执行linux命令就不能这么操作了,需要知道命令的绝对路径。

重启命令reboot绝对路径/sbin/reboot
关机命令shutdown绝对路径/sbin/shutdown

二、用PHP执行linux命令

有许多函数,之前我有些过博文介绍。这里推荐使用exec函数。

<?php
/**
* php执行linux命令
*/ // 返回命令执行结果,注意命令要写绝对路径
exec('/sbin/reboot');

三、给重启命令添加权限

linux的权限表现的非常细腻,默认reboot权限只能root拥有,想要php执行关机只能给reboot命令相应权限

方式一:把nginx/apache的操作组加入一个管理组,比如web。然后把reboot加入管理组,给g加x命令
方式二:直接chmod 4777 /sbin/reboot 回车搞定,但不建议,因为这样等于所有用户都有重启权限了。

05-13 04:44