复习PHP基础(错误处理)

1.禁止显示错误

(1).php.ini里有一个专门的配置项display_errors,这个值的状态为on或者1在页面中显示错误信息,0或者off则不在页面中显示错误信息。
(2).若没有修改服务器php.ini的状态权限,可以用ini_set('display_errors', 0)把其状态值设为0或为1,仅在当前页面生效。
(3).在php.ini中有一个error_reporting参数,如果把它设置为0,则整个PHP引擎发生错误均不会显示、输出、记录。在php代码里,也可直接打error_reporting(0)来禁止显示错误信息,仅在当前页面生效。
(4).可在发生错误的代码语句行前用错误抑制符@来禁止显示错误信息,这样做效率低下,尽量少用或不用。


2.错误报告级别

(1).掌握级别的错误类型

错误类型 说明
E_ERROR 错误,文件直接中断,必须要解决
E_WARNING 警告,问题较严重但代码会继续运行下去,通常必须解决,若是明确的、故意的可不用管
E_NOTICE 提示,有些小问题不会影响程序,常发生在项目未定义,可不用管
E_PARSE 编译时语法解析错误,解析错误仅仅由分析器产生,必须解决
E_ALL 所有的错误
E_STRICT 启用PHP对代码的修改建议,以确保代码具有最佳的互操作性和向前兼容性。
E_DEPRECATED 启用后将会对在未来版本中可能无法正常工作的代码给出警告。

(2).根据错误报告类型,可以配合error_reporting()函数来显示自己想要看到的错误,例:

函数 效果
error_reporting(0) 关闭所有错误显示
error_reporting(E_ALL) 显示所有错误
error_reporting(E_ALL &~ E_NOTICE) 显示所有错误,不显示提示
error_reporting(E_ALL &~ E_NOTICE &~ E_STRICT &~ E_DEPRECATED) 显示所有错误,不显示提示、兼容性和未来兼容性

3.错误记录日志

(1).可在php.ini查找或修改相关配置项:

参数 配置项 说明
log_errors on/off 是否开启日志记录
log_errors_max_len 整型,默认为1024 单行错误最大记录长度
error_log syslog或指定路径 错误日志记录位置

注:syslog是指系统来记录。Windows系统在电脑的日志收集器里,Linux默认在:/etc/syslog.conf
(2).在代码里,有一个自定义的错误日志函数:
[bool] error_log([string]$错误消息, [int]$错误消息类型, [string]$存储目标);
其中,第二个参数有三种类型码:

类型码 作用
0 发送至默认的error_log指定位置,当第二、三参数不填时,那么第二参数就默认为0
1 发送到指定邮件位置,那么第三参数就填邮箱
3 发送到指定的文件位置,那么第三参数填绝对路径
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 错误和异常不是一回事儿:错误可能是在开发阶段的一些失误而引起的程序问题;而异常则是项目在运行阶段遇到的一些意外,引...
    乐乐凡凡阅读 2,682评论 0 0
  • //禁用错误报告 error_reporting(0); //报告运行时错误 error_reporting(E_...
    沁心轩墨阅读 3,996评论 1 1
  • 简介 PHP提供了错误处理和日志记录的功能. 这些函数允许你定义自己的错误处理规则,以及修改错误记录的方式. 这样...
    零一间阅读 3,907评论 0 2
  • PHP错误简介 PHP提供了错误处理和日志记录的功能. 这些函数允许你定义自己的错误处理规则,以及修改错误...
    四月不见阅读 9,320评论 0 7
  • 文件加载 语法形式:include、include_once、require、require_once4 种语法都...
    THEyAnJ阅读 3,704评论 0 1

友情链接更多精彩内容