Apache 2.4.10上的CGID错误

时间:2015-01-19 15:37:50

标签: apache perl cgi

在内部网站上更新到Apache 2.4.10后,错误日志会不断显示如下所示的消息。

[Mon Jan 19 09:04:40.191633 2015] [cgid:error] [pid 4915436:tid 2314](32)管道损坏:[client xxxx:60715] AH02550:无法将CGI输出刷新到客户端

调用主页时会出现此消息。该页面将正确加载客户端,但该页面根本不使用CGI。

对于提取大量数据的页面,页面在大约一分钟后超时。我已经将CGIDScriptTimout设置为300,但这没有帮助。

网页是Perl程序。

还有其他人看到此错误吗?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

最近将Apache从2.4.9升级到2.4.12后,在我们的日志中反复出现相同的消息,但我们的Web应用程序中的所有内容都像以前一样继续工作。

最近的Apache源代码包含modules / generators / mod_cgid.c中的这些行:

rv = ap_pass_brigade(r->output_filters, bb);
if (rv != APR_SUCCESS) { 
        /* APLOG_ERR because the core output filter message is at error,
         * but doesn't know it's passing CGI output 
         */
        ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(02550) "Failed to flush CGI output to client");
    }

...而在早期版本中它只是:

ap_pass_brigade(r->output_filters, bb);

因此,如果我正确地阅读此内容,Apache过去常常忽略该函数的返回值,最近有人认为它可能很重要。

如果您认为该消息无用地混乱了您的日志文件,您可以尝试将APLOG_ERR常量更改为APLOG_INFO或APLOG_DEBUG,并以此方式进行编译。