PHP錯誤級別 error_reporting() 函數詳解


在PHP開發的時候常常會用到error_reporting(report_level)來調試自己的程序,下面列出了report_level可能值:

常量 描述
1 E_ERROR 這是一個嚴重錯誤,不可恢復,如位置異常,內存不足等
2 E_WARNING 警告,最一般的錯誤,如函數的參數錯誤等
4 E_PARSE 解析錯誤,在解析PHP文件時產生,並強制PHP在執行前退出
8 E_NOTICE 通告表示可能在操作一些未知的變量等。在開發時可開啟通告,以保證程序是"安全通告"的,瑞在正式系統中,應關閉通告
16 E_CORE_ERROR 這個內部錯誤是由於PHP加載擴展失敗而導致的,並且會導致PHP停止運行並退出
32 E_CORE_WARNING PHP啟動時初始化過程中的警告(非致命性錯)
64 E_COMPILE_ERROR 編譯錯誤是在編譯時發生,這個錯誤將導致PHP運行退出
128 E_COMPILE_WARNING 編譯警告用於告訴用戶一些不推薦的語法信息
256 E_USER_ERROR 用戶定義的錯誤將導致辭PHP退出,它對是來自PHP自身,而是來自腳本文件中。
512 E_USER_WARNING 腳本使用它來通知一個執行失敗,同時PHP也會用E_WARNING通知
1024 E_USER_NOTICE 用戶定義的通告用於在腳本中表示可能存在的錯誤
2048 E_STRICT 編碼標准化警告(建議如何修改以向前兼容)
4096 E_RECOVERABLE_ERROR 接近致命的運行時錯誤,若未被捕獲則視同E_ERROR
8191 E_ALL 除E_STRICT外的所有錯誤(PHP6中為8191,即包含所有)

例子:

任意數目的以上選項都可以用“或”來連接(用 OR 或 |),這樣可以報告所有需要的各級別錯誤。例如,下面的代碼關閉了用戶自定義的錯誤和警告,執行了某些操作,然后恢復到原始的報錯級別:

<?php
//禁用錯誤報告
error_reporting(0);

//報告運行時錯誤
error_reporting(E_ERROR | E_WARNING | E_PARSE);   

//報告所有錯誤
error_reporting(E_ALL);   

error_reporting(7);
/*
設置php錯誤檢測級別
E_ERROR - 致命性運行時錯 (1)
E_WARNING - 運行時警告(非致命性錯)(2)
E_PARSE - 編譯時解析錯誤 (4)
1+2+4 = 7
*/
?>

 

uchome系統中的調試處理:

D_BUG ? error_reporting(7) : error_reporting(0);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM