php錯誤級別的設定方法

2021-10-21 18:18:00 字數 2200 閱讀 4343

在我們的程式開發中,經常會遇到一些程式執行的錯誤,php會根據程式的錯誤級別來給出給出不同的提示。例如什麼警告,錯誤等錯誤,但是這些錯誤是可以設定的,如果只是一些小的錯誤,我們可以讓這些錯誤不報出來。這就需要用到我們本章所講解的如何設定php的報錯級別。

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

這裡以xampp整合軟體包為例,開啟配置檔案php.ini,檢視錯誤報告級別error_reporting的預設值,如下:

error_reporting=e_all & ~e_deprecated & ~e_strict
意思是報告所有的錯誤,但除了e_deprecated和e_strict這兩種。

將其修改為:

error_reporting=e_all & ~e_notice
意思是報告所有的錯誤,但除了e_notice這一種。這也是最常用的錯誤報告級別,它不會報告注意類(如:使用了未定義的變數)的錯誤。

儲存,重啟web伺服器後生效。

第二種:通過error_reporting()函式設定報錯級別,種方式設定後,可以立即生效。但僅限於在當前指令碼中的error_reporting()函式呼叫的後面區域。

error_reporting()函式的語法如下:

int error_reporting ([ int $level ] )
引數level是指定錯誤的級別,如果沒有設定,會返回當前的報錯級別。下邊是給出level 引數的值。值常量

說明1e_error

報告導致指令碼終止執行的致命錯誤

2e_warning

報告執行時的警告類錯誤(指令碼不會終止執行)

4e_parse

報告編譯時的語法解析錯誤

8e_notice

報告通知類錯誤,指令碼可能會產生錯誤

16e_core_error

php啟動時初始化過程中的致命錯誤。

32e_core_warning

php啟動時初始化過程中的警告(非致命性錯)。

64e_compile_error

編譯時致命性錯。這就像由zend指令碼引擎生成了乙個e_error。

128e_compile_warning

編譯時警告(非致命性錯)。這就像由zend指令碼引擎生成了乙個e_warning警告。

256e_user_error

使用者自定義的警告訊息。這就像由使用php函式trigger_error(程式設計師設定的乙個e_warning警告)

512e_user_warning

使用者自定義的警告訊息。這就像由使用php函式trigger_error(程式設計師設定的乙個e_warning警告)

1024

e_user_notice

使用者自定義的警告訊息。這就像由使用php函式trigger_error(程式設計師設定的乙個e_warning警告)

2048

e_strict

編碼標準化警告。允許php建議如何修改**以確保最佳的互操作性向前相容性。

4096

e_recoverable_error

開捕致命錯誤。這就像乙個e_error,但可以通過使用者定義的處理捕獲(又見set_error_handler())

8191

e_all

所有的錯誤和警告(不包括 e_strict) (e_strict will be part of e_all as of php 6.0)

任意數目的以上選項都可以用「或」來連線(用 or 或

),這樣可以報告所有需要的各級別錯誤。

例子:下面的**關閉了使用者自定義的錯誤和警告,執行了某些操作,然後恢復到原始的報錯級別:

//禁用錯誤報告

error_reporting(0);

//報告執行時錯誤

error_reporting(e_error | e_warning | e_parse);

//報告所有錯誤

error_reporting(e_all);

乙個簡單的例子是:

error_reporting(e_error | e_warning | e_parse | e_notice);
他表示php錯誤,警告,語法錯誤,提醒都返錯。

php錯誤級別的設定方法

php在執行時,針對嚴重程度不同的錯誤,會給以不同的提示。eg 在 a沒宣告時,直接相加,值為null,相加時當成0來算.但是,卻提示notice,即注意.我們在開發中,為了程式的規範性,把報錯級別,調的比較高notice級別的也報出來,有助於我們快速定位錯誤和 規範,但是,在產品上線後,運營 過程...

php怎麼關閉notice級別的錯誤提示?

關閉方法 1 在php.ini檔案中,將 error reporting 項的值改為 e all e notice 2 在需要禁止notice提示的頁面中新增 error reporting e all e notice 推薦 php 教程 php的notice報錯提示級別不是致命的,即使發生了錯了...

php錯誤級別

php.ini檔案中的error reporting引數 error reporting可以設定的引數如下 錯誤報告是位欄位。可以將數字加起來得到想要的錯誤報告等級。e all 所有的錯誤和警告 不包括 e strict e error 致命性的執行時錯誤 e warning 執行時警告 非致命性錯...