php函數不能用?
問題闡述
PHP 無法執行system()函數是什麼原因呢?
問題解答
PHP 無法執行system()函數,可能有以下幾種情況:
(1)Warning: system() has been disabled for security reasons
該錯誤是由於伺服器安全設定將system 函數關閉了,開啟php.ini 檔案,將disable_functions等號後面的system 去掉即可。
(2)Warning: system() [function.system]: Unable to fork
該錯誤是由於當前站點的執行賬號無法存取cmd.exe,找到Windowssystem32cmd.exe 屬性,新增當前站點的執行賬號許可權或users 組許可權即可。
(3)在Web 存取下執行沒有任何響應也不報錯,使用php cli 命令列執行卻可以正常返回結果,該錯誤一般是由Windows 系統路徑引起的,程式中可能是使用了絕對路徑去存取程式,例如:
system('D:serverDLLIECapt.exe --url=http://tech.cncms.com --out="D:webtt.fei.cnhtdocsttttech.png"');
此時用命令列執行結果正確,但用Web 存取就會返回空白頁,沒有錯誤。
修改方法:將檔案的存取路徑改為相對路徑,並將IECapt.exe 複製到站點程式當前目錄下,並將程式碼改為:
system('IECapt.exe --url=http://www.baidu.com --out=t/tech.png');
3再次存取頁面,就可以正常輸出了。
以上就是php函數不能用的詳細內容,更多請關注TW511.COM其它相關文章!