reporting錯(cuò)誤報(bào)告級(jí)別?
錯(cuò)誤報(bào)告級(jí)別:指定了在什么情況下,腳本代碼中的錯(cuò)誤(這里的錯(cuò)誤是廣義的錯(cuò)誤,包括E_NOTICE注意、E_WARNING警告、E_ERROR致命錯(cuò)誤等)會(huì)以錯(cuò)誤報(bào)告的形式輸出。
設(shè)置錯(cuò)誤報(bào)告級(jí)別的方法:
1. 修改PHP的配置文件php.ini
這種方式設(shè)置error_reporting后,重啟web服務(wù)器,就會(huì)永久生效。
這里以xampp集成軟件包為例,打開(kāi)配置文件php.ini,查看錯(cuò)誤報(bào)告級(jí)別error_reporting的默認(rèn)值,如下:
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
意思是報(bào)告所有的錯(cuò)誤,但除了E_DEPRECATED和E_STRICT這兩種。
將其修改為:
error_reporting=E_ALL & ~E_NOTICE
意思是報(bào)告所有的錯(cuò)誤,但除了E_NOTICE這一種。這也是最常用的錯(cuò)誤報(bào)告級(jí)別,它不會(huì)報(bào)告注意類(如:使用了未定義的變量)的錯(cuò)誤。
保存,重啟web服務(wù)器后生效。
2. 使用error_reporting()函數(shù)
這種方式設(shè)置后,可以立即生效。但僅限于在當(dāng)前腳本中的error_reporting()函數(shù)調(diào)用的后面區(qū)域。
int error_reporting ([ int $level ] )
參數(shù)可以是整型或?qū)?yīng)的常量標(biāo)識(shí)符,推薦使用常量的形式。返回值為當(dāng)前位置處起作用的錯(cuò)誤報(bào)告級(jí)別的值(整型值)。
下面列舉一些錯(cuò)誤報(bào)告級(jí)別:
值 常量 說(shuō)明
1 E_ERROR 報(bào)告導(dǎo)致腳本終止運(yùn)行的致命錯(cuò)誤
2 E_WARNING 報(bào)告運(yùn)行時(shí)的警告類錯(cuò)誤(腳本不會(huì)終止運(yùn)行)
4 E_PARSE 報(bào)告編譯時(shí)的語(yǔ)法解析錯(cuò)誤
8 E_NOTICE 報(bào)告通知類錯(cuò)誤,腳本可能會(huì)產(chǎn)生錯(cuò)誤
32767 E_ALL 報(bào)告所有的可能出現(xiàn)的錯(cuò)誤(不同的PHP版本,常量E_ALL的值也可能不同)
error_reporting(E_ALL ^ E_NOTICE); // 除了E_NOTICE之外,報(bào)告所有的錯(cuò)誤
error_reporting(E_ERROR); // 只報(bào)告致命錯(cuò)誤
echo error_reporting(E_ERROR | E_WARNING | E_NOTICE); // 只報(bào)告E_ERROR、E_WARNING 和 E_NOTICE三種錯(cuò)誤
注意:配置文件php.ini中display_errors的默認(rèn)值為On,代表顯示錯(cuò)誤提示,如果設(shè)置為Off,就會(huì)關(guān)閉所有的錯(cuò)誤提示。
分類: PHP基礎(chǔ)
標(biāo)簽: 錯(cuò)誤報(bào)告級(jí)別, error_reporting, E_ERROR, E_NOTICE