在我們的程式開發中,經常會遇到一些程式執行的錯誤,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 執行時警告 非致命性錯...