推薦手冊:php完全自學手冊
權限問題:
當我們在伺服器上直接執行linux系統指令時(這裡以ping為例),執行權限取決於我們登入使用者的權限,如果我們登入使用者為root ,則執行ping的時候是用root來執行。但當我們在網站上訪問的時候,我們此時的用戶為www,如果不修改ping的執行權限的話,是無法執行成功的。
推薦教學:PHP影片教學
解決方法:
修改ping或對應指令的執行權限。
指令路徑問題:
當我們用exec執行某個指令時,不報錯,也不回傳結果,原因是此指令沒有在環境變數配置的目錄下即/etc/profile檔案中,以ifconfig為例,我們可以用whereis ifconfig,找出此命令具體路徑。
解決方法:
1、複製指令到/usr/bin下,也就是環境變數下的目錄
2、直接將指令全路徑補全exec('/usr/sbin',$output)
3、在環境變數中增加目標目錄例如增加/usr/sbin到目錄
##相關文章建議:1.
PHP中使用exec呼叫系統指令 2.
php中shell_exec() 與exec()函數的差異#3 .
php中exec()函式執行系統指令失敗問題解決方法
相關影片推薦:1.
獨孤九賤(4)_PHP影片教學
#
以上是php exec執行不了的詳細內容。更多資訊請關注PHP中文網其他相關文章!