php 实现关机
通过 PHP 执行系统命令关机
在 PHP 中实现关机功能需要调用系统命令,通常使用 exec() 或 shell_exec() 函数。以下方法适用于不同操作系统:
Windows 系统:
exec('shutdown /s /t 0');
/s 表示关机,/t 0 表示延迟 0 秒执行。
Linux 系统:
exec('sudo shutdown -h now');
-h 表示关机,now 表示立即执行。注意需要 PHP 进程有 sudo 权限。

权限和安全注意事项
直接执行关机命令需要高权限,可能带来安全隐患。以下方法可提升安全性:
限制执行用户 确保 PHP 脚本仅由特定用户(如管理员)执行,可通过会话验证或 IP 限制实现。
使用安全令牌 在执行关机前验证预定义的令牌或密码:

$token = 'YOUR_SECURE_TOKEN';
if ($_POST['token'] === $token) {
exec('sudo shutdown -h now');
}
替代方案:调用外部 API
如果直接执行系统命令风险过高,可通过调用本地或远程 API 接口间接触发关机:
file_get_contents('http://localhost/shutdown-api?key=SECURE_KEY');
API 端再处理实际关机操作,实现权限隔离。
日志记录
无论采用哪种方式,建议记录关机操作:
file_put_contents('/var/log/shutdown.log', date('Y-m-d H:i:s') . " - Shutdown initiated\n", FILE_APPEND);
注意:生产环境中应谨慎使用此功能,确保有完善的权限控制和审计机制。






