php三个错误报告级别类型是什么
php三個(gè)錯(cuò)誤報(bào)告級(jí)別類型是:1、語(yǔ)法錯(cuò)誤;會(huì)阻止腳本的執(zhí)行。2、運(yùn)行時(shí)的錯(cuò)誤;一般不會(huì)阻止php腳本的執(zhí)行,但會(huì)阻止當(dāng)前要做的事情,輸出一條錯(cuò)誤,但php腳本會(huì)繼續(xù)執(zhí)行。3、邏輯錯(cuò)誤;既不阻止腳本的執(zhí)行,也不輸出錯(cuò)誤消息。
推薦:《PHP視頻教程》
一、php程序的錯(cuò)誤發(fā)生一般歸屬下面3個(gè)領(lǐng)域
1、語(yǔ)法錯(cuò)誤
語(yǔ)法錯(cuò)誤最常見,并且也容易修復(fù),如:代碼中遺漏一個(gè)分號(hào),這類錯(cuò)誤會(huì)阻止腳本的執(zhí)行。
2、運(yùn)行時(shí)的錯(cuò)誤:
這種錯(cuò)誤一般不會(huì)阻止php腳本的執(zhí)行,但會(huì)阻止當(dāng)前要做的事情,輸出一條錯(cuò)誤,但php腳本會(huì)繼續(xù)執(zhí)行。
3、邏輯錯(cuò)誤:
這種錯(cuò)誤最麻煩,既不阻止腳本的執(zhí)行,也不輸出錯(cuò)誤消息。
二、php的錯(cuò)誤報(bào)錯(cuò)級(jí)別
級(jí)別常量 錯(cuò)誤值 錯(cuò)誤報(bào)告描述 E_ERROR 1 致命的運(yùn)行時(shí)錯(cuò)誤(阻止腳本執(zhí)行) E_WARNING 2 運(yùn)行時(shí)警告(非致命性錯(cuò)誤) E_PARSE 4 從語(yǔ)法中解析錯(cuò)誤 E_NOTICE 8 運(yùn)行時(shí)注意消息(可能是或可能不是一個(gè)問題) E_CORE_ERROR 16 PHP啟動(dòng)時(shí)初始化過程中的致命錯(cuò)誤 E_CORE_WARNING 32 PHP啟動(dòng)時(shí)初始化過程中的警告(非致命性錯(cuò)) E_COMPILE_ERROR 64 編譯時(shí)致命性錯(cuò) E_COMPILE_WARNING 128 編譯時(shí)警告(非致命性錯(cuò)) E_USER_ERROR 256 用戶自定義的致命錯(cuò)誤 E_USER_WARNING 512 用戶自定義的警告(非致命性錯(cuò)誤) E_USER_NOTICE 1024 用戶自定義的提醒(經(jīng)常是bug) E_STRICT 2048 編碼標(biāo)準(zhǔn)化警告(建議如何修改以向前兼容) E_ALL 6143 所有的錯(cuò)誤、警告和注意信息
三、調(diào)整錯(cuò)誤報(bào)告級(jí)別
1、display_errors:是否開啟php輸出錯(cuò)誤報(bào)告的級(jí)別。
值為:On (默認(rèn)的輸出錯(cuò)誤報(bào)告)、Off (屏蔽所有的錯(cuò)誤信息)
-- 在php腳本中可以調(diào)用ini_set( ) 函數(shù),動(dòng)態(tài)設(shè)置php.ini配置文件。
-- 如:ini_set("display_errors", "On"); 顯示所有的錯(cuò)誤信息2、error_reporting: 設(shè)置不同的錯(cuò)誤級(jí)別報(bào)告
error_reporting = E_ALL & ~E_NOTICE
-- 可以拋出任何非注意的錯(cuò)誤
error_reporting = E_ERROR | E_PARSE | E_CORE_ERROR
-- 只考慮致命的運(yùn)行時(shí)錯(cuò)誤,新解析錯(cuò)誤和核心錯(cuò)誤。
error_reporting = E_ALL & ~(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE)
-- 報(bào)告用戶導(dǎo)致的錯(cuò)誤之外的所有錯(cuò)誤。
在php腳本可以通過error_reporting() 函數(shù)動(dòng)態(tài)設(shè)置錯(cuò)誤報(bào)告級(jí)別。
如:error_reporting(E_ALL);
四、代碼測(cè)試
<html>
<head><title>測(cè)試錯(cuò)誤報(bào)告</title></head>
<body>
<h2>測(cè)試錯(cuò)誤報(bào)告</h2>
<?php
/*開啟php.ini中的display_errors指令,只有該指令開啟如果有錯(cuò)誤報(bào)告才輸出*/
ini_set('display_errors', 1);
/*通過error_reporting()函數(shù)設(shè)置在本腳本中,輸出所有級(jí)別的錯(cuò)誤報(bào)告*/
error_reporting( E_ALL );
/*“注意(notice)”的報(bào)告,不會(huì)阻止腳本的執(zhí)行,并且可能不一定是一個(gè)問題 */
getType( $var ); //調(diào)用函數(shù)時(shí)提供的參數(shù)變量沒有在之前聲明
/*“警告(warning)”的報(bào)告,指示一個(gè)問題,但是不會(huì)阻止腳本的執(zhí)行 */
getType(); //調(diào)用函數(shù)時(shí)沒有提供必要的參數(shù)
/*“錯(cuò)誤(error)”的報(bào)告,它會(huì)終止程序,腳本不會(huì)再向下執(zhí)行 */
get_Type(); //調(diào)用一個(gè)沒有被定義的函數(shù)
?>
</body>
</html>
相關(guān)推薦:php培訓(xùn)
總結(jié)
以上是生活随笔為你收集整理的php三个错误报告级别类型是什么的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php如何跳转前一个页面
- 下一篇: php markdown 转html的方