首頁 >後端開發 >PHP問題 >如何設定php錯誤模式

如何設定php錯誤模式

王林
王林原創
2019-09-04 17:58:001942瀏覽

如何設定php錯誤模式

PHP在運行時, 針對嚴重程度不同的錯誤,會給以不同的提示。

eg:在$a沒宣告時,直接相加,值為NULL,相加時當成0來算.但是,卻提示NOTICE,即註意.

我們在開發中, 為了程序的規範性,把報錯級別,調的比較高NOTICE級別的也報出來,有助於我們快速定位錯誤和代碼規範,但是,在產品上線後,網站運營過程中,就不宜報這麼多錯.

1:這種錯誤給客戶的印像不好 
2:在報錯時,把網站的絕對路徑,如D:\www\1015都報出來了.增大被攻擊的風險 
因此,在網站上線後,就應該讓報錯級降低,少報錯誤甚至不報.

##修改報錯級別:

1: php.ini裡修改error_reporting 選項 
2: 可以在php頁面裡,用error_reporting()函數來修改##錯誤等級用2進位的值來表示的: 1111 1111 1111 111從左到右,每位上的1,代表一種錯誤等級

##fatal error

致命錯誤: 0000 0000 0000 001 開啟1 

warning 警告錯誤: 0000 0000 0000 010 開啟2 
NOTICE 警告: 0000 0000 0001 000 開啟8
eg:

都報出來:

error_reporting(11)

不要報NOTICE: error_reporting(3)
任何錯誤都回報: error_reporting(0) ;
系統為我們把各個層級的值,用系統常數代替了.

E_ERROR

E_WARNING# 2 
#E_NOTICE 8
報所有錯誤: error_reporting(E_ALL)

;

除了NOTICE,其他都報: error_reporting(E_ALL & ~ E_NOTICE)

;

在開發中,報錯等級高一點,在上線產品中,報錯等級要低:

程式碼如下:

define('DEBUG',true); // 在开发时,声明一个DEBUG模式 
if(defined('DEBUG')) { //检测到处于开发模式 
  error_reporting(E_ALL); 
} else { 
  error_reporting(0); 
}

更多相關問題請造訪PHP中文網:

PHP影片教學

#

以上是如何設定php錯誤模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn