如何从PHP脚本挂起/重启Linux Ubuntu?

时间:2013-08-26 07:27:35

标签: php linux ubuntu restart

我有问题。我想用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");
?>

但他们都没有做任何事情。请帮我。我需要这段代码。

2 个答案:

答案 0 :(得分:0)

我不建议授予PHP用户root权限

点击此处: https://stackoverflow.com/a/5226760/2708670

答案 1 :(得分:0)

如果网络服务器正在执行PHP代码,它将在ubuntu中的用户“www-data”下运行。

可能www-data无权关闭,这是一个理智的默认设置。

您可以在不提供密码的情况下为关机提供www-data sudo权限,并使用sudo调用reboot。

仔细查看man sudoers并确保在编辑sudo配置之前了解安全隐患:这将有效地为任何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");