相关疑难解决方法(0)

是否可以更改 PHP 错误日志输出?

error_log在 php.ini 文件中配置了指令,如下所示:

error_log = /path/to/logs/error_log
Run Code Online (Sandbox Code Playgroud)

然后,我配置了这样的error_reporting指令:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Run Code Online (Sandbox Code Playgroud)

当我检查 error_log 文件时,我看到正常的 php 警告/错误文本行:

[03-Jun-2015 08:39:00 America/Bogota] PHP Notice:  Undefined index: cerrar in /fake/path/to/file2.php on line 68
[03-Jun-2015 08:40:49 America/Bogota] PHP Notice:  Undefined index:  in /fake/path/to/file2.php on line 344
Run Code Online (Sandbox Code Playgroud)

问题是:有没有办法改变输出格式?我的意思是,如果我可以打印,例如,导致警告的 IP 和子域。

我在 StackOverflow 和 Google 中寻找,但没有找到明确的信息或示例。

非常感谢您的帮助。

php

5
推荐指数
1
解决办法
1672
查看次数

更改错误日志输出格式:ini_set('error_append_string', 'string') 和 ini_set('error_prepend_string', 'string') 什么都不做

这就是我告诉 php 要做的:

<?php
error_reporting(E_ALL);
ini_set('display_errors', '0');
ini_set('log_errors', 1);
ini_set('error_log', 'errors.log');
ini_set('error_append_string', 'APP');
ini_set('error_prepend_string', 'PRE');
?>
Run Code Online (Sandbox Code Playgroud)

希望我能在一个文件中报告所有错误,在消息之前使用“PRE”,在消息之后使用“APP”。(我的目标是将 PRE 和 APP 变成 /n /r 之类的……)

但我的错误报告日志如下所示:

[14-May-2013 00:16:26] PHP 通知:未定义变量:第 14 行 /home/www/dir/index.php 中的 nonexistentvariable [14-May-2013 00:16:28] PHP 通知:未定义变量:第 14 行 /home/www/dir/index.php 中不存在变量

没有PRE,没有APP...

我如何将它放入那里,以便我的错误报告文件将每个错误都放在换行符上,而不是一串对我没有帮助的错误?

编辑: 所以我注意到 ini_set('display_errors', '1'); “APP”和“PRE”字符串是显示在页面上的错误消息中。

这意味着我真的需要找出我可以在哪里更改 php 如何记录错误的格式。例如整个时间戳的事情 - 在哪里指定?

编辑: 无法更改 php 记录错误的方式,您必须制作自己的错误处理程序。

回答: 为了真正实现我的目标,我提出了一个不同的问题(更准确地说)。 如何更改 PHP 在错误日志文件中写入错误的方式?

php error-reporting

4
推荐指数
1
解决办法
3914
查看次数

标签 统计

php ×2

error-reporting ×1