我有问题。我想用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");
?>
但他们都没有做任何事情。请帮我。我需要这段代码。
答案 0 :(得分:0)
我不建议授予PHP用户root权限
答案 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");