- 目录
- 1. 前言
- 2. 错误类型和提示类型
- 2.1错误类型
- 2.2提示类型
- 3. 错误配置选项
- 3.1通过php.ini配置设置
- 3.2通过php函数设置
- 3.3通过ini_set()函数设置
- 3.4触发PHP错误函数
- 3.5自定义错误类型
- 4. PHP错误处理方法
- 4.1方法一:将错误日志保存在指定文件中
- 4.2方法二:将错误日志保存在系统日志中
- 4.3方法三:错误日志以邮件方式发送
- 5. 自定义错误处理器
- 5.1简介
- 5.2使用步骤
- 5.3实例演示
- 5.4封装自定义错误处理器类
- 5.5错误处理器类的测试
- 5.5.1通知错误测试
- 5.5.2警告错误测试
- 5.5.3手动抛出错误测试
- 6.脚本结束函数调用register_shutdown_function()
- 6.1含义
- 6.2使用场景
- 6.3案例演示
- 7.总结
1.前言
了解PHP的错误类型有助于我们很好地定位和解决bug,下面让我们一起深入了解吧。
代码分享:https://github.com/mtdgclub/ErrorDeal
2.错误类型和提示类型
说到PHP的错误我们先要搞清楚错误有几种错误类型,几种提示类型
2.1错误类型
- 语法错误
- 环境错误
- 逻辑错误
2.2提示类型
- 不推荐级别的错误—Deprecated
- 通知级别的错误—Notice
- 警告级别的错误—Warning
- 致命级别的错误—Fatal
- 语法解析错误—Parse
- 用户定义的错误—PHPE_USER_相关错误
其中,遇到致命级别错误和语法解析错误程序中止执行
3.错误配置选项
选项 |
描述 |
error_reporting |
设置错误报告级别 |
display_errors |
是否显示错误 |
log_errors |
设置是否将产生错误信息记录到日志或者error_log中 |
error_log |
设置脚本错误将记录到文件 |
log_errors_max_len |
设置log_errors的最大字节数 |
ignore_repeated_errors |
是否忽略重复错误信息 |
ignore_repeated_source |
是否忽略重复错误信息的来源 |
track_errors |
如果开启此项,最后一个错误将永远保存在$php_errormsg中 |
3.1通过php.ini配置设置
//设置错误显示级别error_reporting()函数 error_reporting= E_ALL&~E_NOTICE
3.2通过php函数设置
echo error_reporting();//输出全部错误码 error_reporting(E_ALL&~E_NOTICE);//显示某类