|
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 1
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錯誤級別的設置方法,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。