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