Trac,mod_wsgi,脚本标题的过早结束

时间:2011-08-22 09:19:49

标签: django mod-wsgi trac

在守护进程中配置mod_wsgi的服务器上运行Trac时,Trac会抛出许多表单错误:“脚本标头过早结束”。我已经研究过了,看起来Trac和Apache之间的expat库版本不匹配。可悲的是,我无法重建Apache,这似乎是解决这个问题的唯一解决方案。

我想知道是否有其他解决方案可行。当我在嵌入模式下运行时,此问题消失。是否可以为以嵌入模式运行的Trac请求配置虚拟主机,而其他请求是由配置为守护进程模式的主机处理的?由于Django项目,我们使用守护进程模式,因此我们不必在代码更改时重新启动服务器。但是我不知道以这种方式设置是否可以解决问题,或者甚至可以进行这样的设置。

1 个答案:

答案 0 :(得分:0)

在嵌入式模式下运行并不能解决问题。消息可能会消失,但您的Apache子进程可能仍然崩溃,但是他们这样做可能不会像主Apache错误日志显示“分段错误”那样明显,而其他方面很少。

当你说你看过这个时,你是否通过运行mod_wsgi网站上记录的测试来确认它是外来问题?

我问expat问题不是Trac崩溃的唯一原因。在子解释器中使用Python包装器进行颠覆也会导致问题。那么,您是否尝试过设置的文档解决方法:

WSGIApplicationGroup %{GLOBAL}

你是否已经使用gdb进行分析,其中代码再次崩溃,如mod_wsgi wiki所述。

关于Trac是否可以在嵌入式模式下运行以及Django是否在守护进程模式下运行的问题,是的,可以这样做,但从我所看到的情况来看,它可能无法解决问题。