php函數不能用

2020-07-16 10:06:46

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其它相關文章!