error_reporting() php.ini和http.conf配置錯誤信息
error_reporting
配置錯誤信息回報的等級。
語法: int error_reporting(int [level]);
返回值: 整數
函數種類: PHP 系統功能
本函數用來配置錯誤信息回報的等級,參數 level 是一個整數的位遮罩 (bitmask),見下表。
遮罩值 表示名稱
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
E_NOTICE 表示一般情形不記錄,只有程序有錯誤情形時才用到,例如企圖存取一個不存在的變量,或是呼叫 stat() 函數檢視不存在的文件。
E_WARNING 通常都會顯示出來,但不會中斷程序的執行。這對除錯很有效。例如:用有問題的正則表達式呼叫 ereg()。
E_ERROR 通常會顯示出來,亦會中斷程序執行。意即用這個遮罩無法追查到內存配置或其它的錯誤。
E_PARSE 從語法中解析錯誤。
E_CORE_ERROR 類似 E_ERROR,但不包括 PHP 核心造成的錯誤。
E_CORE_WARNING 類似 E_WARNING,但不包括 PHP 核心錯誤警告。
------------------------------------
額外:
1.
php文件中
error_reporting(7) 其中的7 就是 1+2+4,也就是回報 1 E_ERROR 2 E_WARNING 4 E_PARSE
2.
php.ini中
display_errors = Off //默認是關閉錯誤提示
error_reporting = E_ALL //顯示從不良編碼實踐到無害提示到出錯的所有信息,由於回報的信息太細化了,包括了無害信息,為了在開發過程中能看到實際的提示,建議配置為 error_reporting = E_ALL & ~E_NOTICE
3.
apache /conf/httpd.conf 中
php_flag display_errors on
php_value error_reporting 2039
這裡的配置可以覆蓋php.ini的配置,2039 代表 E_ALL & ~E_NOTICE,2047代表 E_ALL