PHP錯誤等級大集合

來源:互聯網
上載者:User

 

很多情況下,我們的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

所有的錯誤、警告和建議

 

原文連結: http://www.cnblogs.com/iuky/archive/2011/09/24/2189561.html



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。