博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 错误与异常 笔记与总结(5)配置文件中与错误日志相关的选项 && 将错误记录到指定的文件中...
阅读量:5031 次
发布时间:2019-06-12

本文共 2663 字,大约阅读时间需要 8 分钟。

【记录错误(生产环境)

php.ini:

① 开启 / 关闭 错误日志功能

log_errors = On

 

② 设置 log_errors 的最大字节数

log_errors_max_len = 1024

 

其他:

 

选项 描述
log_errors 设置是否将错误信息记录到日志或者 error_log 中
error_log   设置脚本错误将记录到的文件
log_errors_max_len 设置 log_errors 的最大字节数
ignore_repeated_errors 是否忽略重复的错误信息
ignore_repeated_source 是否忽略重复错误消息的来源
track_errors 如果开启此选项,最后一个错误将永久保存在$php_errormsg 中

 

【方法一】将错误记录到指定的文件中 

① 开启 php.ini 中的 log_errors

② 指定 错误日志的保存路径,例如:

error_log = "d:/wamp/logs/php_error.log"

 

【例1】

 

页面不会有任何输出。打开 D:\wamp\logs\php_error.log:

[19-May-2015 15:59:48 UTC] PHP Notice:  Undefined variable: test in D:\practise\php\Error\error1.php on line 9[19-May-2015 15:59:48 UTC] PHP Stack trace:[19-May-2015 15:59:48 UTC] PHP   1. {main}() D:\practise\php\Error\error1.php:0[19-May-2015 15:59:48 UTC] PHP Warning:  settype() [function.settype]: Invalid type in D:\practise\php\Error\error1.php on line 11[19-May-2015 15:59:48 UTC] PHP Stack trace:[19-May-2015 15:59:48 UTC] PHP   1. {main}() D:\practise\php\Error\error1.php:0[19-May-2015 15:59:48 UTC] PHP   2. settype() D:\practise\php\Error\error1.php:11[19-May-2015 15:59:48 UTC] PHP Fatal error:  Call to undefined function test() in D:\practise\php\Error\error1.php on line 13[19-May-2015 15:59:48 UTC] PHP Stack trace:[19-May-2015 15:59:48 UTC] PHP   1. {main}() D:\practise\php\Error\error1.php:0

 

 

【例2】在 ini_set() 中设置保存错误日志的路径。

 

页面不会有任何输出。打开 D:\wamp\logs\php_error_2.log:

[19-May-2015 16:04:41 UTC] PHP Notice:  Undefined variable: test in D:\practise\php\Error\error1.php on line 11[19-May-2015 16:04:41 UTC] PHP Stack trace:[19-May-2015 16:04:41 UTC] PHP   1. {main}() D:\practise\php\Error\error1.php:0[19-May-2015 16:04:41 UTC] PHP Warning:  settype() [function.settype]: Invalid type in D:\practise\php\Error\error1.php on line 13[19-May-2015 16:04:41 UTC] PHP Stack trace:[19-May-2015 16:04:41 UTC] PHP   1. {main}() D:\practise\php\Error\error1.php:0[19-May-2015 16:04:41 UTC] PHP   2. settype() D:\practise\php\Error\error1.php:13[19-May-2015 16:04:41 UTC] PHP Fatal error:  Call to undefined function test() in D:\practise\php\Error\error1.php on line 15[19-May-2015 16:04:41 UTC] PHP Stack trace:[19-May-2015 16:04:41 UTC] PHP   1. {main}() D:\practise\php\Error\error1.php:0

 

 

【例3】记录什么时候用户尝试以什么密码来登录系统的时间和 ip 地址(例如通过日志分析注水机器人)

login.html

            TODO supply a title        

登录

用户名:
密码:

 

doAction.php:

 

打开:D:\wamp\logs\login.log:

[19-May-2015 16:25:59 UTC] 用户dee在2015-05-20 00:25:59以dee尝试登录系统,当前用户的ip地址为127.0.0.1

 

 

【方法二】将错误记录到系统日志中

【方法三】将错误以邮件形式发送

 

转载于:https://www.cnblogs.com/dee0912/p/4515954.html

你可能感兴趣的文章
抽象工厂模式(Abstract Factory)
查看>>
luogu1373 小a和uim之大逃离 (dp)
查看>>
Redis的Pub/Sub客户端实现
查看>>
SQL日常问题和技巧——持续更新
查看>>
springMVC入门(一)------springMVC基本概念与安装
查看>>
Sam做题记录
查看>>
[bzoj] 2453 维护数列 || 单点修改分块
查看>>
IIS版本变迁
查看>>
BZOJ3884: 上帝与集合的正确用法 拓展欧拉定理
查看>>
mybatis09--自连接一对多查询
查看>>
myeclipse10添加jQuery自动提示的方法
查看>>
【eclipse jar包】在编写java代码时,为方便编程,常常会引用别人已经实现的方法,通常会封装成jar包,我们在编写时,只需引入到Eclipse中即可。...
查看>>
视频监控 封装[PlayCtrl.dll]的API
查看>>
软件工程APP进度更新
查看>>
Python 使用正则替换 re.sub
查看>>
CTF中那些脑洞大开的编码和加密
查看>>
c++ 调用外部程序exe-ShellExecuteEx
查看>>
Java进击C#——语法之知识点的改进
查看>>
IdentityServer流程图与相关术语
查看>>
BirdNet: a 3D Object Detection Framework from LiDAR information
查看>>