Только что установлен и настроен mod_python 3.2.8 на сервере CentOS 5 (Apache 2.2.3) с Python 2.4.3. Он отлично загружается Apache.
Я активировал тестовую страницу mpinfo, и она работает. Поэтому я написал простой «Hello World» со следующим кодом:
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
Я провел около пяти часов, просматривая различные учебные пособия, часто задаваемые вопросы и руководства по устранению неполадок, но не могу найти описание этой проблемы exakt.
Как вы думаете, может быть проблема / причина?
РЕДАКТИРОВАТЬ: Вот конфигурация Apache для сайта ...
<Directory />
Options FollowSymLinks
AllowOverride None
AddHandler mod_python .py
PythonHandler mptest
PythonDebug On
</Directory>
РЕДАКТИРОВАТЬ 2: Ах, еще одна вещь, которую я забыл упомянуть, это то, что я намерен использовать mod_python для написания расширений Apache. Само приложение написано на PHP, но мне нужно сделать несколько настроек безопасности на сервере:)