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

php.ini中如何設定錯誤級別

青灯夜游
青灯夜游原創
2021-10-12 18:40:391677瀏覽

設定錯誤等級的方法:1、開啟PHP安裝目錄,找到並開啟「php.ini」設定檔;2、在設定檔中,搜尋「error_reporting」項,將該項的值改為需要的錯誤等級即可,例「E_ALL|E_STRICT」就是設定最嚴格的錯誤等級。

php.ini中如何設定錯誤級別

本教學操作環境: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 中的錯誤型別

##常數124816326412825651210241024204881921638430719表格中的值(數值或符號)用於建立二進位位元掩碼,制定要報告的錯誤訊息。可以使用位元運算子來組合這些值或屏蔽某些類型的錯誤。
#值##說明
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 除外的所有錯誤和警告訊息。

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

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

推薦學習:《

PHP影片教學

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

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