如何从PHP脚本暂停/重新启动Linux Ubuntu


How to suspend/restart Linux Ubuntu from PHP script?

我有个问题。我想用php代码重新启动ubuntu,但我做不到。我已经尝试了所有来自互联网的代码,比如

<?php
shell_exec("/usr/sbin/reboot");
exec("/usr/sbin/reboot");
system("/usr/sbin/reboot");
?>

<?php
shell_exec("shutdown -r");
exec("shutdown -r");
system("shutdown -r");
?>

但他们都什么都不做。请帮帮我。我需要这个密码。

如果PHP代码由Web服务器执行,则它在ubuntu中的用户"www data"下运行。

也许www数据没有关闭的权利,这是一个合理的默认值。

您可以在不提供密码的情况下授予www数据sudo关闭权限,并使用sudo调用reboot。

在编辑sudo配置之前,仔细查看man sudoers并确保了解其安全含义:这将有效地赋予任何PHP脚本关闭服务器的权利(未经测试)。

# /etc/sudoers (edit using the visudo command)
Cmnd_Alias     SHUTDOWN = /usr/sbin/shutdown
Cmnd_Alias     HALT = /usr/sbin/halt
Cmnd_Alias     REBOOT = /usr/sbin/reboot
Host_Alias     LOCALHOST = 127.0.0.1
www-data       LOCALHOST = NOPASSWD: SHUTDOWN, HALT, REBOOT

在PHP中,您可以使用:

shell_exec("/usr/bin/sudo /usr/sbin/reboot");

我不建议让root用户访问PHP用户

查看此处:https://stackoverflow.com/a/5226760/2708670