首頁  >  文章  >  後端開發  >  php.ini中怎麼設定錯誤級別

php.ini中怎麼設定錯誤級別

青灯夜游
青灯夜游原創
2021-07-14 18:53:242040瀏覽

php.ini中設定錯誤等級的方法:開啟“php.ini”設定文件,找到“error_reporting”項,將該項目的值設為需要的錯誤類型,例如“E_ALL &  ~E_NOTICE”後,重啟web伺服器即可。

php.ini中怎麼設定錯誤級別

本教學操作環境: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 中的錯誤類型如下表所示:

##常數說明1E_ERROR#致命的運行時錯誤,一般是不可恢復的情況,例如記憶體分配導致的問題,後果是導致腳本終止、不再繼續運作。 2E_WARNING執行階段警告(非致命錯誤),僅給出提示訊息,但是腳本不會終止執行。 4E_PARSE編譯時語法解析錯誤,僅由分析器產生。 8E_NOTICE執行階段通知,表示腳本遇到可能會表現為錯誤的情況,但是在可以正常運行的腳本裡面也可能會有類似的通知。 16E_CORE_ERROR在 PHP 初始化啟動過程中發生的致命錯誤,類似 E_ERROR,但是由 PHP 引擎核心產生的。 32E_CORE_WARNINGPHP 初始化啟動過程中發生的警告(非致命錯誤),類似E_WARNING ,但由PHP 引擎核心產生的。 64E_COMPILE_ERROR致命編譯時錯誤,類似 E_ERROR,但是是由 Zend 腳本引擎產生的。 128E_COMPILE_WARNING編譯時警告(非致命錯誤),類似 E_WARNING,但是由 Zend 腳本引擎產生的。 256E_USER_ERROR使用者產生的錯誤訊息,類似E_ERROR,但是是由使用者自己在程式碼中使用PHP 函數trigger_error() 來產生的。 512E_USER_WARNING使用者產生的警告訊息,類似E_WARNING,但是是由使用者自己在程式碼中使用PHP 函數trigger_error() 來產生的。 1024E_USER_NOTICE使用者產生的通知訊息,類似E_NOTICE,但是是由使用者自己在程式碼中使用PHP 函數trigger_error() 來產生的。 1024E_STRICT#啟用 PHP 對程式碼的修改建議,以確保程式碼具有最佳的互通性和向前相容性。 2048E_RECOVERABLE_ERROR可被捕捉的致命錯誤,表示發生了一個可能非常危險的錯誤,但還沒有導致PHP 引擎處於不穩定的狀態。如果該錯誤沒有被使用者自訂句柄捕獲,將成為一個 E_ERROR,從而使腳本終止運行。 8192E_DEPRECATED執行階段通知,啟用後會對未來版本可能無法正常運作的程式碼給予警告。 16384E_USER_DEPRECATED使用者產生的警告訊息,類似 E_DEPRECATED,但是由使用者自己在程式碼中使用PHP 函數trigger_error() 來產生的。 30719E_ALL#E_STRICT 除外的所有錯誤和警告訊息。

表格中的值(數值或符號)用於建立二進位位元掩碼,制定要報告的錯誤訊息。可以使用位元運算子來組合這些值或屏蔽某些類型的錯誤。

注意,在 php.ini 之中,只有 '|'、'~'、'!'、'^' 和 '&' 會正確解析。

在正式環境中,可能會發生各種未知的錯誤,這時可以定義error_reporting(0),這樣就能屏蔽錯誤了,用戶不會在頁面看到錯誤訊息,而當排查錯誤時,仍可到PHP 的執行錯誤日誌中尋找相關資訊。

推薦學習:《PHP影片教學

#值

以上是php.ini中怎麼設定錯誤級別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn