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

时间:2013-05-13 12:58:54

标签: php centos

我正在开发一个设备并试图让用户重新启动托管它的服务器。

有没有办法让阿帕奇有权这样做?

点击提交按钮后,我尝试执行此代码:

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

但它说只有root才能做到。

所以,我尝试在sudoers文件中添加它:

nobody ALL = NOPASSWD: /sbin/reboot

我仍然遇到此错误,导致我无法从PHP重启服务器。

php正在使用的角色是apache。

我现在也尝试使用shutdown -r并遇到同样的问题。

有没有办法做到这一点?我见过几个允许这样做的系统,但是我找不到它们是怎么做的......

感谢。

1 个答案:

答案 0 :(得分:1)

不熟悉你正在做的事情,但我注意到了这一点:

你说:

nobody ALL = NOPASSWD: /sbin/reboot

...

The role php is using is apache.

所以你不应该在sudoers文件中说:

<强> apache ALL = NOPASSWD: /sbin/reboot