使用CentOS5,我用以下指令配置了Apache。使用Python 2.4,Python 2.5腳本失敗的Apache
Alias /pscript/ /var/www/pscript/
<Directory "/var/www/pscript/">
Options +ExecCGI
DirectoryIndex thetest.py
AddHandler cgi-script .py
</Directory>
當我打電話www.domain.com/pscript/然後我的Python腳本運行,並打印出我的sys.path
,這是顯示python2.4
。
當我調用一個需要Python 2.5的不同腳本時,我得到一個500內部服務器錯誤。
看着我的Apache的error_log,我看到了下面一行:
[Wed Mar 03 16:58:44 2010] [error] [client 000.000.000.000] Please use Python 2.5 or greater
在命令行中,運行python -V
返回Python 2.5.5
。我安裝了2.4和2.5.5,但只能使用2.5.5。
爲了解決Apache問題,我重新編譯了Python 2.5.5以確保安全,並確保啓用共享庫。然後我重新編譯mod_python以防萬一,這會影響某些內容,但我的sys.path
仍然是python2.4
。
我想知道,我是否需要重新編譯Apache 2.2.3本身?我只需要Apache來利用Python 2.5.5。
在此先感謝。
從命令行我得到/ usr/local/bin/python,這是Python 2.5.5安裝。 – Structure 2010-03-04 06:52:53
你的Python腳本是否在頂部有'#!/ usr/local/bin/python',或者其他的東西? – 2010-03-04 07:06:24
就是這樣。該腳本調用/ usr/bin/env來調用python。它一定是一直在喊錯。我已將腳本更新爲'#!/ usr/local/bin/python',並且打印我的'sys.path'現在顯示它正在使用正確的版本。謝謝! – Structure 2010-03-04 07:15:35