在内部网站上更新到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程序。
还有其他人看到此错误吗?任何帮助表示赞赏。
答案 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,并以此方式进行编译。