虚拟主机的错误不会写入指定的ErrorLog,而是写入默认的error_log

时间:2015-02-11 08:59:19

标签: apache perl error-logging

我已经在Debian 7 VM上升级到Apache 2.2.22。我刚刚使用apt-get安装它,除了添加我的VirtualHost

之外没有进行任何配置更改
<VirtualHost *:8001 *:80>
    ServerName devintegration.ie
    ServerAlias devintegration.ie
    DocumentRoot /sites/integration/development/docs
    ScriptAlias /console/ /sites/integration/development/console/
    ErrorLog /sites/logs/devintegration.ie-error_log
    CustomLog /sites/logs/devintegration.ie-access_log common
</VirtualHost>

我习惯的行为是在虚拟主机中指定的错误日志中出现任何Perl错误或警告。我现在得到的行为是Perl错误转到/ var / log / apache2目录中的常见Apache日志,而虚拟主机日志只包含&#34;脚本标题的过早结束&#34;。

我已经对此进行了一些谷歌搜索,但大部分结果都与mod_perl有关。我确实找到了这个页面,最后的评论表明它的工作方式发生了变化,但没有提供关于是否可以更改的信息。 Apache Log Forum&#34; CGI脚本写入stderr的任何信息都将直接复制到错误日志中。&#34;

有没有办法配置apache来引导Perl错误并警告虚拟主机中指定的错误日志?

我之前使用的Apache版本是2.2.15。

1 个答案:

答案 0 :(得分:1)

这是mod_cgid中的(是?)a longstanding bug。它的状态仍然是“以后决定”(显然)意味着:“停止抱怨 - 我们将在以后的版本中进行,而不是现在”。也许现在已经解决了(你的版本,2.2.22,已经3岁了),但我找不到它。

mod_cgid是Apache的线程版本中的默认.cgi处理程序。如果您切换到mod_cgi,例如通过使用非线程的apache(就像我一样)来解决你的问题。