設定錯誤等級的方法:1、開啟PHP安裝目錄,找到並開啟「php.ini」設定檔;2、在設定檔中,搜尋「error_reporting」項,將該項的值改為需要的錯誤等級即可,例「E_ALL|E_STRICT」就是設定最嚴格的錯誤等級。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
PHP 中定義了許多不同等級的錯誤,如使用了未定義的變數會報出一個notice 等級的錯誤,實例化一個未定義的類別則會報出fatal error 等級的錯誤。
那麼php.ini中怎麼錯誤等級?
1、開啟PHP安裝目錄,找到並開啟php.ini設定檔
#2、在設定檔中,搜尋「error_reporting」項目
將「 error_reporting」項目的值改為所需的錯誤等級即可,例「E_ALL|E_STRICT」就是設定最嚴格的錯誤等級。
如果不想操作php.ini設定文件,可利用error_reporting()函數
在你想要禁止notice錯誤提示的頁面中加入下面的程式碼
/* Report all errors except E_NOTICE */ error_reporting(E_ALL ^ E_NOTICE);
補充知識:PHP 中的錯誤型別
#值 | ##常數##說明 | |
---|---|---|
E_ERROR | 致命的運行時錯誤,一般是不可恢復的情況,例如記憶體分配導致的問題,後果是導致腳本終止、不再繼續運行。 | |
E_WARNING | 執行階段警告(非致命錯誤),僅給出提示訊息,但是腳本不會終止執行。 | |
E_PARSE | 編譯時語法解析錯誤,僅由分析器產生。 | |
E_NOTICE | 執行階段通知,表示腳本遇到可能會表現為錯誤的情況,但是在可以正常運行的腳本裡面也可能會有類似的通知。 | |
E_CORE_ERROR | 在 PHP 初始化啟動過程中發生的致命錯誤,類似 E_ERROR,但是由 PHP 引擎核心產生的。 | |
E_CORE_WARNING | PHP 初始化啟動過程中發生的警告(非致命錯誤),類似E_WARNING ,但由PHP 引擎核心產生的。 | |
E_COMPILE_ERROR | 致命編譯時錯誤,類似 E_ERROR,但是是由 Zend 腳本引擎產生的。 | |
E_COMPILE_WARNING | 編譯時警告(非致命錯誤),類似 E_WARNING,但是由 Zend 腳本引擎產生的。 | |
E_USER_ERROR | 使用者產生的錯誤訊息,類似E_ERROR,但是是由使用者自己在程式碼中使用PHP 函數trigger_error() 來產生的。 | |
E_USER_WARNING | 使用者產生的警告訊息,類似E_WARNING,但是是由使用者自己在程式碼中使用PHP 函數trigger_error() 來產生的。 | |
E_USER_NOTICE | 使用者產生的通知訊息,類似E_NOTICE,但是是由使用者自己在程式碼中使用PHP 函數trigger_error() 來產生的。 | |
E_STRICT | #啟用 PHP 對程式碼的修改建議,以確保程式碼具有最佳的互通性和向前相容性。 | |
E_RECOVERABLE_ERROR | 可被捕捉的致命錯誤,表示發生了一個可能非常危險的錯誤,但還沒有導致PHP 引擎處於不穩定的狀態。如果該錯誤沒有被使用者自訂句柄捕獲,將成為一個 E_ERROR,從而使腳本終止運行。 | |
E_DEPRECATED | 執行階段通知,啟用後會對未來版本可能無法正常運作的程式碼給予警告。 | |
E_USER_DEPRECATED | 使用者產生的警告訊息,類似 E_DEPRECATED,但是由使用者自己在程式碼中使用PHP 函數trigger_error() 來產生的。 | |
E_ALL | #E_STRICT 除外的所有錯誤和警告訊息。 |
在正式環境中,可能會發生各種未知的錯誤,這時可以定義error_reporting(0),這樣就能屏蔽錯誤了,用戶不會在頁面看到錯誤訊息,而當排查錯誤時,仍可到PHP 的執行錯誤日誌中尋找相關資訊。
推薦學習:《
PHP影片教學以上是php.ini中如何設定錯誤級別的詳細內容。更多資訊請關注PHP中文網其他相關文章!