很多情況下,我們的php檔案會出現一些非常難以排查的錯誤,比如輸出大白頁,調錯無從下手。這是可能php的錯誤等級遮蔽了一些非致命的錯誤,造成沒有任何錯誤提示。所以了解和熟悉php錯誤等級,或許能夠成為調錯的新方法。
php.ini中的錯誤報告等級預設情況下,php錯誤報告等級是e_notice, e_all表示報告所有非致命錯誤,因為這些錯誤可能會導致大問題(比如使用了未定義的變數)。
顯示所有的錯誤,除了提醒和編碼標準化警告。
錯誤報告是位欄位。可以將數字加起來得到想要的錯誤報告等級。
e_all - 所有的錯誤和警告(不包括 e_strict)
e_error - 致命性的執行時錯誤
e_warning - 執行時警告(非致命性錯誤)
e_parse - 編譯時解析錯誤
e_notice - 執行時提醒(這些經常是你**中的bug引起的,也可能是有意的行為造成的。)
e_strict - 編碼標準化警告,允許php建議如何修改**以確保最佳的互操作性向前相容性。
e_core_error - php啟動時初始化過程中的致命錯誤
e_core_warning - php啟動時初始化過程中的警告(非致命性錯)
e_compile_error - 編譯時致命性錯
e_compile_warning - 編譯時警告(非致命性錯)
e_user_error - 使用者自定義的錯誤訊息
e_user_warning - 使用者自定義的警告訊息
e_user_notice - 使用者自定義的提醒訊息
如果設定為:e_all | e_strict,則表示記錄所有的錯誤資訊,可能會導致**出現一大堆的錯誤**;但是對於程式設計師來說應該說是一件好事,可以把**優化到最優;一些非致命性錯誤雖然不影響程式的執行,但是會使php的負擔加重,通常是增加了**程序(例如iis的應用程式池)的負擔。
php 報錯等級
定義和用法 error reporting 設定 php 的報錯級別並返回當前級別。函式語法 error reporting report level 如果引數 level 未指定,當前報錯級別將被返回。下面幾項是 level 可能的值 值 常量 描述 1 e error 致命的執行錯誤。錯誤無法恢...
PHP錯誤等級
f 很多情況下,我們的php檔案會出現一些非常難以排查的錯誤,比如輸出大白頁,調錯無從下手。這是可能php的錯誤等級遮蔽了一些非致命的錯誤,造成沒有任何錯誤提示。所以了解和熟悉php錯誤等級,或許能夠成為調錯的新方法。php.ini中的錯誤報告等級預設情況下,php錯誤報告等級是e notice,e...
php報錯和時間
錯誤處理 錯誤的分類 語法錯誤 這種錯誤最常見,但也最容易搞定 一旦出現,一行 都不執行 執行時錯誤 在頁面上給你報出來,有的會終止 執行,有的不會 邏輯錯誤 這種錯誤最麻煩 錯誤的級別 notice 提示級別,不會影響後續 的執行 如 輸出不存在的變數 warning 警告級別,也不會終止 執行 ...