我試圖用PHP腳本更改Linux主機名。我可以直接在Linux機器上使用命令主機名使用PHP腳本更改Linux主機名
但是,當我使用下面的PHP語句..它沒有工作。
system('sudo hostname '.trim($Host));
請提出解決方案。
我試圖用PHP腳本更改Linux主機名。我可以直接在Linux機器上使用命令主機名使用PHP腳本更改Linux主機名
但是,當我使用下面的PHP語句..它沒有工作。
system('sudo hostname '.trim($Host));
請提出解決方案。
假設你的Apache用戶無需輸入密碼(其中,順便說一句,將是一個巨大的安全漏洞,所以請不要做)運行sudo
命令你可以這樣做:
exec("sudo hostname " . $hostname);
爲了確保您www-user
能做到這一點,有以下行編輯/etc/sudoers
:
www-user ALL=NOPASSWD: /bin/hostname
什你試圖通過改變主機名來實現,你可能會發現,你可以做到另一種更安全的方式。 對於閱讀此內容的任何人,我完全不建議您按照這些說明進行操作,您將通過升級www-user
帳戶的知識來打開您的服務器,以防止潛在的傷害。
用函數exec()試試這個命令。 http://php.net/manual/de/function.exec.php
我非常懷疑Web服務器用戶(apache/www)將有權訪問這個命令,並且正確如此。您不希望PHP或Web服務器能夠更改系統... – fullybaked 2013-05-08 11:02:41
您爲什麼要更改PHP中的主機名? – RMcLeod 2013-05-08 11:03:08
我正在開發一個具有cPanel功能 – KiranD 2013-05-08 11:09:39