从PHP重新启动CentOS服务器?(不是PHP服务,而是服务器)


Reboot CentOS serveer from PHP ? (not php service but the server)

我目前正在开发一个设备,并试图授予用户重新启动承载该设备的服务器的可能性。

有没有办法给apache这样做的权利?

我尝试过,当点击提交按钮时,执行以下代码:

<?php exec('/sbin/reboot'); ?>

但是它说只有根可以做

所以,我试着在sudoers文件中添加这个:
nobody ALL = NOPASSWD: /sbin/reboot

我仍然得到这个错误,阻止我从PHP重新启动服务器。

php正在使用的角色是apache

我也试过使用shutdown -r,现在得到了同样的问题。

有什么办法可以做到吗?我见过一些允许这样做的系统,但我不知道它们是如何做到的…

谢谢。

不太清楚你在做什么,但是我注意到了:

你说:

nobody ALL = NOPASSWD: /sbin/reboot

The role php is using is apache.

那么你是不是应该在sudoers文件中写:

apache ALL = NOPASSWD: /sbin/reboot