首先要知道error_reporting()函數是用來設定錯誤等級並傳回目前的等級。它有14個錯誤級別,如下:
1 E_ERROR 致命的運作時錯誤。 錯誤無法恢復過來。劇本的執行暫停
2 E_WARNING 非致命的執行階段錯誤。 腳本的執行不會停止
4 E_PARSE 則以編譯時解析為錯誤。解析錯誤應該只由分析器產生
8 E_NOTICE 運轉時間的通知。
16 E_CORE_ERROR PHP啟動時的致命錯誤。這比一個在PHP核心的E_ERROR
32 E_CORE_WARNING 在PHP啟動時的非致命的錯誤。這就好比一個在PHP核心E_WARNING警告
64 E_COMPILE_ERROR 致命的編譯時錯誤。 這就像由Zend腳本引擎產生了一個E_ERROR
128 E_COMPILE_WARNING 非致命的編譯時錯誤,由Zend腳本引擎產生了一個E_WARNING警告
256
512 E_USER_WARNING 非致命的使用者產生的警告。
1024 E_USER_NOTICE 使用者產生的通知。
2048 E_STRICT 運轉時間的通知。
4096 E_RECOVERABLE_ERROR 捕捉致命的錯誤。
8191 E_ALL來 所有的錯誤與警告。
好像php預設是不開啟錯誤的,所以需要設定php.ini檔案:
將 display_errors = Off 改為display_errors = On
另外還要設定錯誤等級:
error_reporting = E_ALL & ~E_NOTICE應為php預設是顯示所有錯誤的,而有些無害的提示我們不需要顯示,所以設定如上! 也可以在php程式碼中運用如下: