2011-12-13 54 views
8

一個返回碼返回一個錯誤/壓縮到文件的CSS較少。它從開發服務器調用時可以很好地工作,但在apache + mod_wsgi下運行時,它始終返回一個錯誤。下的Apache + mod_wsgi的運行subprocess.Popen總是與我希望有人見過這個-6

爲了進行調試,我運行了過濾器作爲www-data用戶(在WSGIDaemonProcess指令中定義爲wsgi用戶)調用的確切命令,並驗證它是否正常工作,包括讀取和編寫它正在處理的文件。

我也在這個系統上的壓縮器/ filters/base.py中破解了django-compressor代碼,並且似乎試圖調用的ANY命令在proc.communicate()後得到-6的返回碼。調用。

我希望有人以前見過這個 - 或者它響了一下鍾。它在apache + mod_wsgi進程之外的機器上工作正常(即,將該進程作爲開發服務器運行)。我只是不清楚什麼可能會阻止subprocess.Popen()調用。

+0

機器是否運行SELinux?如果,然後暫時禁用它,看看它是否工作。 – 2011-12-13 19:21:00

+0

我在SELinux上與Python 2.7.2有同樣的問題。 Python 2.5在這裏工作正常。你能解決問題嗎? – Pankrat 2012-01-18 18:00:17

回答

8

你是否偶然使用Python 2.7.2?

了Python的版本中引入了造成調用fork()子解釋失敗的錯誤:

http://bugs.python.org/issue13156

你將不得不迫使WSGI應用程序通過設置在這個過程中的主要Python解釋器來運行:

WSGIApplicationGroup %{GLOBAL} 

如果運行需要確保只有受影響的一個應用了此配置指令否則你會導致所有Django應用程序在一個解釋器中運行多個Django應用程序whic由於Django配置的工作原理,h是不可能的。

相關問題