为什么我的 Apache 错误日志中出现空白错误消息?

为什么我的 Apache 错误日志中出现空白错误消息?

我在 64 位 Windows Server 2008 标准版上运行 Apache 2.2,并安装有 ActivePerl 5.8.9。我的错误日志中充满了如下的空白错误消息:

[2010 年 3 月 31 日星期三 14:08:31] [错误] [客户端 10.6.1.164]

[2010 年 3 月 31 日星期三 14:10:32] [错误] [客户端 10.6.1.89]

[2010 年 3 月 31 日星期三 14:13:20] [错误] [客户端 10.6.1.131]

通过查看访问日志,我可以发现它发生在我们的客户端机器向一个非常简单的 Perl 脚本发出 GET 时。

#!perl.exe

use strict;
no warnings;

$|=1; 

use CGI::Carp('fatalsToBrowser');
use CGI qw(:standard);
print header;

my $CRLF = "\r\n<br>";
my $Port = '10116';     
print "Success!${CRLF}PollInterval=5${CRLF}LMProMode${CRLF}Version=7${CRLF}ConnectionPort=$Port";

exit;

奇怪的是,似乎每次对此 Perl 脚本执行 GET 操作时都不会插入此错误消息。什么原因导致此错误消息出现在 Apache 错误日志中?

答案1

在黑暗中拍摄,但默认情况下,apache 会将任何写入 stderr 的内容重定向到 error.log 文件,因此如果您的脚本正在生成任何 stderr 输出(空格、换行符),这可能会体现出来。

相关内容