Windows上的PHP错误日志文件格式php.ini error_log指令

问题描述

|| 例如: PHP.ini文件 ... ;将错误记录到指定文件。 error_log = c:/PHP/PHP.log ... 错误日志文件(c:/PHP/PHP.log)包含以下格式的每个条目: [2011年6月12日12:58:55] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ r \\ n [2011年6月12日12:59:01] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ r \\ n [2011年6月12日13:01:12] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ r \\ n [2011年6月12日13:02:11] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ r \\ n [2011年6月12日13:11:23] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ r \\ n [2011年6月12日13:12:10] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ r \\ n 两个回车符和每一错误行一行。 为什么会这样呢? 如何将错误日志文件更改为认格式: [2011年6月12日12:58:55] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ n [2011年6月12日12:59:01] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ n [2011年6月12日13:01:12] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ n [2011年6月12日13:02:11] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ n [2011年6月12日13:11:23] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ n [2011年6月12日13:12:10] PHP注意:未定义的变量:在第2行的C:\\ www \\ PHPinfo.PHP中进行测试\\ r \\ n PHP版本5.3.6 Apache / 2.2.15(Win32) 在Windows 7 Home Basic和Windows XP SP3上测试,结果相同。 PHP.ini文件仅包含两个字符串 log_errors =开 error_log = c:/server/PHP.log apache PHPinfo()脚本-> http://pastehtml.com/view/awvx1vgpp.html PS。 服务器:Nginx 1.0.4 FastCGI + PHP版本5.3.6 一切正常。 Nginx PHPinfo()脚本-> http://pastehtml.com/view/awvwvk9p9.html     

解决方法

        还有更多的ini指令来控制输出到错误日志中。如果不是对行尾有误解(请参阅我的评论),那么您可能需要查看ini设置
error_prepend_string
error_append_string
。这两个及更多相关设置在此PHP手册页中进行了说明。 默认情况下,PHP在不加载ini的情况下运行,仅设置了
error_log
并启用了日志记录,因此它仅输出一行。您也可以在系统上进行测试:
php -n -d error_log=./error.log -d log_errors=1 -r \'error;\'
使用此命令进行隔离运行,并将其与您的输出进行比较。如果它也有两个行尾,那么这可能是您的php版本的错误。 如果不是,那么在您的应用程序中,某些设置似乎需要更改。您需要找出哪个设置。可能您可以通过注册自己的错误处理程序,然后对ini设置进行伪操作来找到它。