11.3 错误记录日志
最后更新于:2022-04-02 00:21:41
在一些公司里面,有专门的日志收集系统。日志收集系统会在背后默默的帮你收集错误、警告、提示。
也有些公司没有专门的日志收集系统,通过文件来服务器当中的运行日志。
其中:PHP的错误,警告这些是必须要收集的。
那么问题来了——不让用户看到,设置好的错误报告级别号,如何将错误收集到日志系统中呢?
这里有需要使用到php.ini的相关配置项。这两个配置项为:
| 参数 | 配置项 | 说明 |
| -- | -- | -- |
| log_errors | on/off | 是否开启日志记录 |
| log_errors_max_len | 整型,默认1024 | 单行错误最大记录长度 |
| error_log | syslog或者指定路径 | 错误日志记录在什么地方 |
说明:
1. 在表格中的log_errors和log_errors_max_len非常好理解。
2. 而error_log 指定将错误存在什么路径上。配置项中的syslog可能有点不太好理解。syslog是指系统来记录。windows系统在电脑的日志收集器里面。linux默认在:/etc/syslog.conf
**[扩展]**
了解知识点。若Linux系统启动或修改了日志收集。可能存储在第三方专用的日志收集服务器中。
此外,PHP还为我们专门准备了一个自定义的错误日志函数:
> bool error_log ( string $错误消息 [, int $错误消息类型 = 0 [, string $存储目标]] )
这个函数可以把错误信息发送到web服务器的错误日志,或者到一个文件里。
常用的错误消息类型:
| 错误消息类型 | 说明 |
| -- | -- |
| 0 | 发送至默认的error_log指定位置 |
| 1 | 发送到指定的邮件位置 |
| 3 | 发送至指定的文件位置 |
示例:
~~~
~~~
***
注意:
error_log 中发送邮件可能对初学者不熟,您可以不用掌握这一块知识。
';