更改错误日志输出格式:ini_set('error_append_string', 'strin


change error log output format: ini_set('error_append_string', 'string') and ini_set('error_prepend_string', 'string') does nothing

这就是我告诉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');
?>

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

但是我的错误报告日志是这样的:

[14-5-2013 00:16:26] PHP提示:nonexistentvariable在/home/www/dir/index.php第14行[14- may -2013][00:16:28] PHP通知:未定义变量:nonexistentvariable in/home/www/dir/index.php第14行

No PRE, No APP…

我如何得到它在那里,使我的错误报告文件将有每个错误的换行符,而不是一长串的错误,这对我没有帮助?

编辑:

所以我注意到ini_set('display_errors', '1');"APP"answers"PRE"字符串在页面上显示,在错误信息中

这意味着我真的需要找出我可以改变php如何记录错误的格式。比如这个时间戳,在哪里指定的?

编辑:

这是不可能改变php记录错误的方式,你必须创建自己的错误处理程序。

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

由于文档没有说明这一点,所以我已经测试了您的示例。我意识到error_append/prepend_string只适用于显示但不记录错误

我的目标是使PRE和APP进入/n/r或其他…

你应该使用正则表达式。应该是可能的,因为每个日志消息都以几乎相同的前缀开头。将准备一个....

check phpinfo(); after ini_sets