PHP的error_reporting错误级别变量对照表
这篇文章主要介绍了PHP中用于设置错误报告级别的变量——error_reporting。这个变量可以帮助开发者根据需要定制PHP脚本在遇到错误时的处理方式。下面,我将详细阐述这些错误级别的含义及其应用场景。
在PHP中,error_reporting函数接受数字或字符串作为参数,用以设定不同的错误级别。这些错误级别分为多个常数,包括E_ERROR、E_WARNING、E_PARSE等。每个常数代表一种类型的错误或警告,它们可以通过位运算组合在一起。
以下是这些错误级别的详细解释:
E_ERROR(数字1):致命错误,脚本执行中断。这是当脚本中出现无法识别的错误时发生的,例如语法错误或无效的参数。
E_WARNING(数字2):部分代码出错,但不影响整体运行。这种类型的错误通常是由于不严重的编程问题引起的,例如未定义的变量或未使用的变量。
E_PARSE(数字4):错误,表示语法错误。当PHP器遇到结构问题或意外的输入时,会触发此错误。
E_NOTICE(数字8):一般通知,如变量未定义等。这些通常是编程时的提醒信息,有助于开发者发现问题并修复。
其他常量如E_CORE_ERROR、E_CORE_WARNING等表示PHP启动时发生的错误或警告。而E_USER_ERROR、E_USER_WARNING和E_USER_NOTICE则是用户自定义的错误或警告消息。E_ALL表示启用所有错误报告,但不包括E_STRICT;而E_STRICT则是用于编码标准化的警告。
在开发过程中,error_reporting变量的设置至关重要。默认情况下,它被设定为E_ALL & ~E_NOTICE,意味着记录所有的错误信息,除了E_NOTICE。对于开发者而言,最佳的设置应该是E_ALL | E_STRICT。
将error_reporting设定为E_ALL | E_STRICT意味着记录所有类型的错误信息,包括致命的和非致命的。这对于程序员来说是一个好消息,因为这可以帮助他们发现并修复代码中的潜在问题,优化代码至最佳状态。虽然一些非致命性错误可能不会影响程序的运行,但它们仍然会加重PHP的负担。
为了更好地理解这些错误类型,以下是各种错误的英文名称及其含义的对照表:
1. E_ERROR:运行时致命错误。无法恢复的错误,脚本执行将停止。
2. E_WARNING:运行时非致命错误。脚本执行不会停止。
3. E_PARSE:编译时的错误。错误只能由器生成。
4. E_NOTICE:运行时通知。脚本找到了可能出错的情况,但也可能在正常运行时发生。
5. E_CORE_ERROR:PHP启动时的致命错误。这是像E_ERROR一样的PHP核心错误。
6. E_CORE_WARNING:PHP启动时的非致命错误。这是像E_WARNING一样的PHP核心警告。
7. E_COMPILE_ERROR:编译时的致命错误。这是由Zend脚本引擎生成的类似于E_ERROR的错误。
8. E_COMPILE_WARNING:编译时的非致命错误。这是由Zend脚本引擎生成的类似于E_WARNING的警告。
9. E_USER_ERROR:用户生成的致命错误。这是程序员使用PHP函数trigger_error()设置的类似于E_ERROR的错误。
10. E_USER_WARNING:用户生成的非致命警告。这是程序员使用PHP函数trigger_error()设置的类似于E_WARNING的警告。
11. E_USER_NOTICE:用户生成的通知。这是程序员使用PHP函数trigger_error()设置的类似于E_NOTICE的通知。
12. E_STRICT:运行时建议更改代码以提高代码的兼容性和互操作性。
13. E_RECOVERABLE_ERROR:可捕获的致命错误。这是一个类似于E_ERROR的错误,但可以使用用户定义的处理程序捕获(另请参阅set_error_handler())。
E_ALL表示记录所有类型的错误和警告,但不包括E_STRICT(在PHP 6.0及更高版本中,E_STRICT将成为E_ALL的一部分)。通过正确设置error_reporting变量,我们可以确保在开发过程中获得最佳的调试体验,同时优化代码性能。
编程语言
- PHP的error_reporting错误级别变量对照表
- ThinkPHP页面跳转success与error方法概述
- MySQL关于exists的一个bug
- jquery实现倒计时功能
- 两个小函数让你的ASP程序对SQL注入免疫!
- JS条形码(一维码)插件JsBarcode用法详解【编码类型
- asp 读取文件和保存文件函数代码
- JavaScript实现简单的双色球(实例讲解)
- 如何在 Vue.js 中使用第三方js库
- 一个实用的FSO-实时统计在线人数
- JSP实现弹出登陆框以及阴影效果
- Vue实现购物车场景下的应用
- JavaScript实现标题栏文字轮播效果代码
- vue项目tween方法实现返回顶部的示例代码
- php 根据url自动生成缩略图并处理高并发问题
- jquery+css3实现熊猫tv导航代码分享