PHP错误日志有额外的回车?

cod*_*ama 11 php

我使用WAMP,在我的php.ini文件中我有:

error_log = "d:/php_error.log"
Run Code Online (Sandbox Code Playgroud)

当我打开该文件时,我看到:

[26-Jun-2013 05:35:57 UTC] PHP Warning:  Division by zero in D:\....

[26-Jun-2013 05:35:57 UTC] PHP Stack trace:

[26-Jun-2013 05:35:57 UTC] PHP   1. {main}() D:\....

[26-Jun-2013 05:35:57 UTC] PHP   2. Zend_Application->run()...

etc
Run Code Online (Sandbox Code Playgroud)

问题是有额外的回车.即我希望宁愿这样:

[26-Jun-2013 05:35:57 UTC] PHP Warning:  Division by zero in D:\....
[26-Jun-2013 05:35:57 UTC] PHP Stack trace:
[26-Jun-2013 05:35:57 UTC] PHP   1. {main}() D:\....
[26-Jun-2013 05:35:57 UTC] PHP   2. Zend_Application->run()...
etc
Run Code Online (Sandbox Code Playgroud)

可能是什么导致了这个?

UPDATE

我将"error_append_string"和"error_prepend_string"更改为"".我也检查了一行后的条目是:

 [LINE]CR
 CRLF
 [LINE]CR
 etc
Run Code Online (Sandbox Code Playgroud)

即Carriage Return和LineFeed符号......

i C*_*ood 3

这可能与系统日志弄乱你有关。所以PHP添加了CR,然后Windows的syslog进入并CRLF在处理请求时在其中添加了额外的内容log "line\n"

请参阅这些相关问题,其中用户在其他操作系统下遇到新行和错误日志的其他问题:

PHP error_log 在 Mac OSX 上将换行符输出为文字“\n”字符串

PHP 错误日志和换行符

特别是,当 Apache 运行的用户没有写入文件的权限,或者error_logphp.ini 中的指令未设置(或定义为syslog)时,可能会发生这种情况。更多详细信息请参见:http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log

至于日志文件本身,您可以尝试通过授予它 777 权限来尝试它,或者自己创建该文件而不是让系统创建它(反之亦然)。一些用户报告了每个调整的不同问题/解决方案。