當其中mod_wsgi的是守護進程的道路配置的服務器上運行Trac系統,Trac的拋出形式的許多錯誤:「腳本頭過早結束」。我研究過這個,看起來Trac和Apache之間的expat庫版本不匹配。可悲的是,我不能重建Apache,這似乎是解決這個問題的唯一解決方案。Trac系統,mod_wsgi的,劇本的過早結束標頭
如果任何其他的解決方案是可能的,我不知道。當我以嵌入模式運行時,此問題消失。是否可以爲在Trac請求中運行的虛擬主機配置爲嵌入模式,而其他請求是否由配置爲守護進程模式的主機處理?我們使用守護進程模式是因爲Django項目,所以當代碼改變時我們不必重啓服務器。但我不知道以這種方式設置東西是否能解決問題,或者如果這樣的設置甚至是可能的。
我還沒有運行測試程序;當人們使用服務器時,我不能在白天做很多事情,所以必須等到明天。我確實證實了Apache使用的expat版本不同於Python使用的expat版本。我現在不在機器上,但是Apache使用類似1.5.x的東西,而Python使用2.0.x.奇怪的是,我們已經通過mod_wsgi在守護進程模式下運行了Django幾個月,並且從未見過這個問題。它僅在我們將Trac添加到系統時纔出現。我一直在嵌入式模式下運行,沒有看到任何錯誤。 – SixDegrees
請注意,我幾乎肯定沒有時間在調試器中進行探索。如前所述,這些錯誤都是通過Trac發生的,而且是零星的;刷新頁面通常會清除問題。但如果解決方案需要大量工時,拋棄Trac將可能成爲首選解決方案。 – SixDegrees
我從http://code.google.com/p/modwsgi/wiki/IssuesWithExpatLibrary運行了您的測試應用程序;這兩個例子,無論是否有expat,都能成功運行,所以顯然expat就像這裏的罪魁禍首一樣。 – SixDegrees