首頁  >  文章  >  後端開發  >  php常見報錯等級有哪些

php常見報錯等級有哪些

青灯夜游
青灯夜游原創
2021-05-28 17:51:265589瀏覽

php常見報錯等級:1、E_ERROR;2、E_WARNING;3、E_PARSE;4、E_NOTICE;5、E_USER_ERROR;6、E_USER_WARNING;7、E_USER_NOTICE;8、E_STRICT;9、E_ALL。

php常見報錯等級有哪些

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

php 中的錯誤等級有:

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

php常見報錯等級:

  • E_ERROR:致命的執行階段錯誤(它會阻止腳本的執行)

  • ##E_WARNING

    :運行時警告(非致命的錯誤)

  • E_PARSE

    :解析錯誤

  • E_NOTICE

    :注意(事情可能是或可能不是一個問題)

  • E_USER_ERROR

    :使用者產生的錯誤訊息,由trigger_error()函數產生

  • E_USER_WARNING

    :使用者產生的警告,由trigger_error()函數產生

  • ##E_USER_NOTICE
  • :使用者產生的注意,由trigger_error()函數產生

  • E_STRICT
  • :關於相容性和互通性的建議

  • #E_ALL
  • :所有的錯誤、警告和建議

  • 設定錯誤報告層級的方法:

1.修改PHP的配置檔案php.ini

這種方式設定error_reporting後,重啟web伺服器,就會永久生效。

開啟設定檔php.ini,查看錯誤報告等級error_reporting的預設值,如下:

error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT1.

意思是報告所有的錯誤,但除了E_DEPRECATED和E_STRICT這兩種。
將其修改為:

error_reporting=E_ALL &  ~E_NOTICE1.

意思是報告所有的錯誤,但除了E_NOTICE這一種。這也是最常用的錯誤報告級別,它不會報告注意類別(如:使用了未定義的變數)的錯誤。
儲存,重啟web伺服器後生效。

2. 使用error_reporting()函數

這種方式設定後,可以立即生效。但僅限於在目前腳本中的error_reporting()函數呼叫的後面區域。

int error_reporting ([ int $level ] )1.

參數可以是整數或對應的常數標識符,建議使用常數的形​​式。傳回值為目前位置處起作用的錯誤報告等級的值(整數值)。

注意:設定檔php.ini中display_errors的預設值為On,代表顯示錯誤提示,如果設定為Off,就會關閉所有的錯誤提示。

使用 error_reporting(0) 或在函數前面加 @,可以抑制錯誤輸出,以防止錯誤訊息洩漏敏感資訊。

推薦學習:《

PHP影片教學

以上是php常見報錯等級有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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