2011-03-10 123 views
2

可能重复:
Can PHP restart Apache?重启/重装阿帕奇服务

你好,

我想通过Web浏览器重新启动/重新加载httpd的服务,是有可能如果是这样的话。

感谢 让

+3

http://stackoverflow.com/questions/425717/can-php-restart-apache的副本? – Spyros 2011-03-10 18:39:33

+1

我想你可以用shell脚本调用,但我认为最大的问题是权限。如果你的用户运行Apache可以运行管理员级别的命令... ...。 – 2011-03-10 18:40:28

+0

@spyrosP很快,赶时间,你忘了检查答案是否被接受 – X10nD 2011-03-10 18:42:22

回答

1

(我假设Linux或东西* nixish)
创建一个shell脚本,重新启动服务器

#!/bin/bash 
/etc/init.d/apache2 restart 

让它executeable并设置SUID位

chmod +xs /path/to/script.sh 

而且来自PHP只需

exec("/path/to/script.sh") 

问题已解决。

编辑:其实这不会工作,因为suid shell脚本不会启动与suid的其他shell脚本。

你可以添加一行到/ etc/sudoers的文件,允许无密码要执行的脚本,然后

sudo /path/to/script.sh 

这应该工作。