程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP錯誤等級集合

PHP錯誤等級集合

編輯:關於PHP編程

很多情況下,我們的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中的錯誤報告
一旦把PHP設置成呈現出發生了哪些錯誤,你可能想調整錯誤報告的級別。可以將作為一個整體或獨立腳本的PHP安裝設置成報告或忽略不同的錯誤級別。表7-1列出了大多數級別,但是它們一般是以下3類級別之一:
l    注意(notice),這不會阻止腳本的執行,並且可能不一定是一個問題;
l    警告(warning),這指示一個問題,但是不會阻止腳本的執行;
l    錯誤(error),這會阻止腳本繼續執行(包括常見的解析錯誤,它從根本上阻止腳本運行)。
表7-1  PHP的錯誤報告設置,與error_reporting()函數一起使用,或者在php.ini文件中使用。注意,E_ALL的值不同於舊版的PHP並且不包括E_STRICT(但在PHP 6中存在)
編    號 常    量 報    告 1 E_ERROR 致命的運行時錯誤(它會阻止腳本的執行) 2 E_WARNING 運行時警告(非致命的錯誤) (續)
編    號 常    量 報    告 4 E_PARSE 解析錯誤 8 E_NOTICE 注意(事情可能是或者可能不是一個問題) 256 E_USER_ERROR 用戶生成的錯誤消息,由trigger_error()函數生成 512 E_USER_WARNING 用戶生成的警告,由trigger_error()函數生成 1024 E_USER_NOTICE 用戶生成的注意,由trigger_error()函數生成 2048 E_STRICT 關於兼容性和互操作性的建議 8191 E_ALL 所有的錯誤、警告和建議  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved