PHP实现Linux关机重启功能

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

一、知道命令的绝对路径

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

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

二、用 PHP 执行 linux 命令

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

三、给重启命令添加权限

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

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

方式一:

把 nginx/apache 的操作组加入一个管理组,比如 web。然后把 reboot 加入管理组,给 g 加 x 命令<br ?–>
方式二:

直接 chmod 4777 /sbin/reboot 回车搞定,但不建议,因为这样等于所有用户都有重启权限了。

2 条评论

发表评论

*