您好,登錄后才能下訂單哦!
本篇內容主要講解“php.ini中如何設置錯誤級別”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php.ini中如何設置錯誤級別”吧!
php.ini中設置錯誤級別的方法:打開“php.ini”配置文件,找到“error_reporting”項,將該項的值設置為需要的錯誤類型,例如“E_ALL & ~E_NOTICE”后,重啟web服務器即可。
本教程操作環境:windows7系統、PHP7.1版,DELL G3電腦
PHP 中定義了許多不同級別的錯誤,如使用了未定義的變量會報出一個 notice 級別的錯誤,實例化一個未定義的類則會報出 fatal error 級別的錯誤。
可在 php.ini 配置文件中使用error_reporting定義錯誤級別,在代碼中也可使用error_reporting(E_ALL)等來定義錯誤級別。
php.ini中設置錯誤級別的方法
這種方式設置error_reporting后,重啟web服務器,就會永久生效。
這里以xampp集成軟件包為例,打開配置文件php.ini,查看錯誤報告級別error_reporting的默認值,如下:
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
意思是報告所有的錯誤,但除了E_DEPRECATED和E_STRICT這兩種。
將error_reporting的值設置為需要的錯誤類型,例修改為:
error_reporting=E_ALL & ~E_NOTICE
意思是報告所有的錯誤,但除了E_NOTICE這一種。這也是最常用的錯誤報告級別,它不會報告注意類(如:使用了未定義的變量)的錯誤。
保存,重啟web服務器后生效。
PHP 中的錯誤類型如下表所示:
值 | 常量 | 說明 |
---|---|---|
1 | E_ERROR | 致命的運行時錯誤,一般是不可恢復的情況,例如內存分配導致的問題,后果是導致腳本終止、不再繼續運行。 |
2 | E_WARNING | 運行時警告(非致命錯誤),僅給出提示信息,但是腳本不會終止運行。 |
4 | E_PARSE | 編譯時語法解析錯誤,僅由分析器產生。 |
8 | E_NOTICE | 運行時通知,表示腳本遇到可能會表現為錯誤的情況,但是在可以正常運行的腳本里面也可能會有類似的通知。 |
16 | E_CORE_ERROR | 在 PHP 初始化啟動過程中發生的致命錯誤,類似 E_ERROR,但是是由 PHP 引擎核心產生的。 |
32 | E_CORE_WARNING | PHP 初始化啟動過程中發生的警告(非致命錯誤),類似 E_WARNING ,但是是由 PHP 引擎核心產生的。 |
64 | E_COMPILE_ERROR | 致命編譯時錯誤,類似 E_ERROR,但是是由 Zend 腳本引擎產生的。 |
128 | E_COMPILE_WARNING | 編譯時警告(非致命錯誤),類似 E_WARNING,但是是由 Zend 腳本引擎產生的。 |
256 | E_USER_ERROR | 用戶產生的錯誤信息,類似 E_ERROR,但是是由用戶自己在代碼中使用 PHP 函數 trigger_error() 來產生的。 |
512 | E_USER_WARNING | 用戶產生的警告信息,類似 E_WARNING,但是是由用戶自己在代碼中使用 PHP 函數 trigger_error() 來產生的。 |
1024 | E_USER_NOTICE | 用戶產生的通知信息,類似 E_NOTICE,但是是由用戶自己在代碼中使用 PHP 函數 trigger_error() 來產生的。 |
1024 | E_STRICT | 啟用 PHP 對代碼的修改建議,以確保代碼具有最佳的互操作性和向前兼容性。 |
2048 | E_RECOVERABLE_ERROR | 可被捕捉的致命錯誤,表示發生了一個可能非常危險的錯誤,但是還沒有導致 PHP 引擎處于不穩定的狀態。如果該錯誤沒有被用戶自定義句柄捕獲,將成為一個 E_ERROR,從而使腳本終止運行。 |
8192 | E_DEPRECATED | 運行時通知,啟用后將會對在未來版本中可能無法正常工作的代碼給出警告。 |
16384 | E_USER_DEPRECATED | 用戶產生的警告信息,類似 E_DEPRECATED,但是是由用戶自己在代碼中使用 PHP 函數 trigger_error() 來產生的。 |
30719 | E_ALL | E_STRICT 除外的所有錯誤和警告信息。 |
表格中的值(數值或者符號)用于建立一個二進制位掩碼,制定要報告的錯誤信息。可以使用按位運算符來組合這些值或者屏蔽某些類型的錯誤。
注意,在 php.ini 之中,只有 '|'、'~'、'!'、'^' 和 '&' 會正確解析。
在正式環境中,可能會發生各種未知的錯誤,這時可以定義 error_reporting(0),這樣就能屏蔽錯誤了,用戶不會在頁面看到錯誤信息,而當排查錯誤時,依然可到 PHP 的執行錯誤日志中尋找相關信息。
到此,相信大家對“php.ini中如何設置錯誤級別”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。