Python2.4.3を使用するCentOS5(Apache 2.2.3)サーバーにmod_python3.2.8をインストールして構成しました。Apacheによって正常にロードされます。
mpinfoテストページをアクティブにしましたが、機能します。そこで、次のコードを使用して単純な「HelloWorld」を作成しました。
from mod_python import apache
def handler(req):
req.content_type = 'text/plain'
req.write("Hello World!")
req.flush()
return apache.OK
テキストもソースもない空白のページを出力します。構文エラーを意識的に作成すると、たとえば、URLにエラー出力が表示されます(「def」の前にスペースを入れると)。
Mod_python error: "PythonHandler mod_python.cgihandler"
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/mod_python/apache.py", line 299, in HandlerDispatch
result = object(req)
File "/usr/lib/python2.4/site-packages/mod_python/cgihandler.py", line 96, in handler
imp.load_module(module_name, fd, path, desc)
File "/var/www/vhosts/localhost/httpdocs/mptest.py", line 3
def handler(req):
^
SyntaxError: invalid syntax
さまざまなチュートリアル、FAQ、トラブルシューティングガイドを閲覧するのに約5時間費やしましたが、このexaktの問題の説明が見つかりません。
問題/原因は何だと思いますか?
編集:これがサイトのApache構成です...
<Directory />
Options FollowSymLinks
AllowOverride None
AddHandler mod_python .py
PythonHandler mptest
PythonDebug On
</Directory>
編集2:ああ、私が言及するのを忘れたもう1つのことは、mod_pythonを使用してApache拡張機能を作成するつもりだということです。アプリケーション自体はPHPで書かれていますが、サーバー上でセキュリティをtweeks作成する必要があります:)