mod_wsgi가 데몬로드에 구성된 서버에서 Trac을 실행할 때 Trac은 "스크립트 헤더의 조기 종료"형식의 많은 오류를 발생시킵니다. 나는 이것을 조사해 보았는데 Trac과 Apache 사이에 expat 라이브러리의 버전이 일치하지 않는 것으로 보인다. 슬프게도, 나는이 문제를 해결할 수있는 유일한 해결책 인 아파치를 재구 할 수있는 위치에 있지 않다.Trac, mod_wsgi, 스크립트 헤더의 조기 종료
다른 해결책이 가능한지 궁금합니다. 임베디드 모드로 실행하면이 문제가 사라집니다. 임베디드 모드에서 실행되는 Trac 요청에 대해 가상 호스트를 구성 할 수 있습니까? 다른 요청은 데몬 모드로 구성된 호스트에서 처리됩니까? Django 프로젝트 때문에 데몬 모드를 사용하기 때문에 코드가 변경 될 때 서버를 다시 시작할 필요가 없습니다. 그러나 이런 방식으로 설정하면 문제가 해결되는지, 또는 그러한 설정이 가능한지 여부는 알 수 없습니다.
아직 테스트 프로그램을 실행하지 않았습니다. 사람들이 서버를 사용할 때 나는 많은 일을 할 수 없으므로 내일까지 기다려야합니다. Apache에서 사용하는 expat의 버전과 Python에서 사용되는 버전이 크게 다르다는 것을 확인했습니다. 저는 지금 당장은 아니지만 파이썬이 2.0.x를 사용하는 동안 아파치는 1.5.x와 같은 것을 사용하고 있습니다. 이상하게도 우리는 몇 개월 동안 mod_wsgi를 통해 장고 모드에서 장고를 실행 해 왔으며이 문제를 본 적이 없다. Trac을 시스템에 추가했을 때만 나타납니다. 나는 모든 오류를 보지 않고 아침 내내 임베디드 모드로 실행하고있다. – SixDegrees
디버거에서 이것을 탐색 할 시간이 거의 없음을 유의하십시오. 이미 언급했듯이이 오류는 모두 Trac을 통해 발생하며 이들은 산발적입니다. 페이지를 새로 고치면 정상적으로 문제가 해결됩니다. 하지만 수정을 위해 많은 인력이 필요하다면 Trac을 방치하는 것이 선호되는 해결책 일 것입니다. – SixDegrees
http://code.google.com/p/modwsgi/wiki/IssuesWithExpatLibrary에서 테스트 앱을 실행했습니다. expat의 유무에 관계없이 두 예제 모두 성공적으로 실행되었으므로 expat은 여기서 범인이되었습니다. – SixDegrees