PHP的错误知识
一、绪
PHP程序的错误发生一般归属于:
- 语法错误(会阻止脚本的执行)
- 运行时错误(不会阻止脚本的执行,但会组织脚本做希望它做的任何事情)
- 逻辑错误(不会阻止脚本执行,也不会显示错误消息)
二、开启错误信息
# 查看php.ini的配置文件地址
开启错误信息的方法:
1、修改php.ini配置文件
display_errors = On
2、 通过函数动态开启错误提示
ini_set(‘display_errors’, 1)
注意:产品上线时,注意关闭错误显示,而推荐以日志的形式记录错误日志,如
1、使用指定的文件记录错误报告日志
修改php.ini配置文件:
error_reporting = E_ALL
display_errors = off
log_errors = on #开启将错误报告写入日志
log_errors_max_len = 1024 #每个日志项的最大长度,字节
error_log = /usr/local/error.log #指定产生错误报告写入的日志文件位置
https://www.php.net/manual/zh/errorfunc.configuration.php#ini.error-log
还可以使用 error_log() 函数,发送错误信息到某个地方
2、错误信息记录到操作系统的日志中
error_reporting = E_ALL
display_errors = Off
log_errors = On
log_errors_max_len = 1024
error_log = syslog 指定产生的错误报告写入操作系统的日志中
三、错误处理的级别
PHP的错误报告有很多种级别。
设置错误报级别:
1、修改配置文件
error_reporting = E_ALL
注意:位运算符&、|、~可以和错误级别常量一起使用,如,
E_ALL & ~E_NOTICE,表示除了通知外的任何级别错误;
E_ERROR | E_PARSE | E_CORE_ERROR,表示只考虑运行时错误、解析错误和核心错误
E_ALL & ~(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE),表示报告除了用户导致的错误外的所有错误
2、使用函数动态配置
error_reporting(E_ALL)