PHP异常和错误(5)PHP错误的类型及设置

2017-03-22 07:11:30 admin ...

前言:

我们说完了PHP的异常,今天开始继续了解PHP错误(面对错误,我们经常回避,这次一起来面对PHP那些错误)。

内容概要:

1、什么是PHP错误以及错误类型
2、关于PHP错误的设定方式
3、php.ini中设置错误
4、编程时自定义设置错误显示级别
5、错误日志的配置

一、什么是PHP错误以及错误类型

PHP的错误比较宽泛,官方也没有详细的定义,我们这里试着定义一下:PHP的错误是指不能正常解析语法或者在程序运行当中出现的一些情况导致不能出现预期结果的状态。一句话,程序不能正常执行就是错误。

php的错误类型大体分为系统错误和自定义错误。
其中系统错误和自定义错误可以分为:建议,警告,致命性错误。

下面列举出常见错误的代码和错误类型:

常量 描述
1 E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。
2 E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。
4 E_PARSE 编译时解析错误。解析错误只由分析器产生。
8 E_NOTICE 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
8191 E_ALL 所有的错误和警告(不包括 E_STRICT) (E_STRICT will be part of E_ALL as of PHP 6.0)

二、关于PHP错误的设定方式

php在运行过程中显示错误可以通过两种方式来设定,一种是在php.ini中设置,一种是在编码是使用
error_reporting(report_level)函数来进行设定。

三、php.ini中设置错误

display_errors = On 是否显示错误,关闭参数是Off,一般开发环境是开启,方便调试错误,线上环境需要关闭。

error_reporting = E_ALL 显示错误的级别。开发环境设置显示全部错误。

还有好多组合的设置方式,这里不一一列举。

四、编程时自定义设置错误显示级别

同php.ini一样,我们也是在开发环境中显示所有的错误,线上环境都会做屏蔽处理。设置方法如下:

//禁用错误报告
error_reporting(0);
//报告所有错误
error_reporting(E_ALL);

五、错误日志的配置

在正式环境中,PHP运行错误一般是通过日志的方式查看的,在php.ini中配置如下:

log_errors = On
error_log = /var/log/php-error.log

相似文章