2011-03-10 181 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 

這應該工作。