php無法執行外部指令的解決方法:1、檢查是否開啟了安全模式;2、在「safe_mode_exec_dir」這個路徑下執行檔;3、在「php.ini」中配置特定路徑即可。
本教學操作環境:windows7系統、PHP8.1版、Dell G3電腦。
php無法執行外部指令怎麼辦?
問題描述:
我用準備用PHP來運行adb.exe來連接android手機,並與之通訊,但使用exec("adb connect 192.168.1.10",$out);或system函數都不起作用,
比如說
exec("adb connect 192.168.1.10",$out); print_r($out);
本來應該輸出連接訊息,或是錯誤訊息,結果什麼都沒有,而我在cmd下面執行卻沒問題
最後沒辦法,用bat寫指令,php執行bat,這倒可以,不過在php中執行bat好像windows的環境變數沒有起作用
所以非常麻煩;
各位誰能幫個忙,告訴我如何用
exec("adb connect 192.168.1.10",$out);
這種形式來執行
或實作php執行bat過程中的環境變數
我試過doc的其他指令像fc指令可以用exec來執行
而fc指令透過呼叫c:\windows\system32\fc.exe來工作的
但是我把我的adb複製進c:\windows\system32\ 還是不行
! ! !
解決方法:
首先你要確定是否 開啟了安全模式。
安全模式 啟用時,可僅可用 safe_mode_exec_dir 這個路徑下執行檔案
特定路徑在php.ini中設定。設定項:safe_mode_exec_dir
以下是PHP官方的說明:
safe_mode_exec_dir
如果PHP 使用了安全模式,system() 和其它程式執行函數將拒絕啟動不在此目錄中的程式。必須使用 / 作為目錄分隔符,包括 Windows 中。
推薦學習:《PHP影片教學》
以上是php無法運行外部命令怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!