使用mod_python 与 apache 的问题。

使用mod_python 与 apache 的问题。

使用mod_python 与 apache 的问题。

问题描述: 当dispatch所调用的最终函数修改时,必须重启apache才能在网页上反映出来.

版本:mod_python版本为3.2.10,apache 2.0.54
操作系统:linux/windows均测试过,结果一样

apache相关配置如下:
        <Directory "/var/www/test/">
                order allow,deny
                Allow from  all
                SetHandler python-program
                AddHandler mod_python .py
                PythonHandler dispatcher
                PythonDebug on
        </Directory>

ls /var/www/test
dispatcher.py  index.py

cat dispatcher.py:

from mod_python import apache
import sys

class Dispatcher(object):
    def __init__(self, req):
        self._req = req
        self._uri =  req.uri

    def dispatch(self, req):
        from index import *
        cls =   Index(req)
        return cls.page()

def handler(req):
    mypatch =   Dispatcher(req)
return mypatch.dispatch(req)

cat index.py

from mod_python import apache

class Index:
        def __init__(self, req):
                self.req =      req
        def page(self):
                self.req.content_type =   'text/plain'
                # self.req.write(" this is index page!")
                self.req.write("hello, world, this is index page!")
                return apache.OK


现在问题是:当我修改index.py文件中的内容,例如 把
self.req.write("hello, world, this is index page!")
改成
        self.req.write(" this is index page!")
时,刷新页面(localhost/test/)时,页面并不改变,只有当重启apache时,页面才更新,请问有人遇到类似情况么?该怎么解决?

谢谢!
请各路人马帮忙看看!

该问题已提交mail-list,但没人回答.
顺便问问楼主,我在LINUX下安装了apache和python,怎么在客户端IE无法运行py的脚本呢?
需要怎么设置?在网上找了半天也没找到。
请指教,谢谢!
你什么都不说,别人怎么知道问题在哪里?
比方说,我新建了一个PY文件test.py
内容:
print "<HTML><HEAD>"
print "<META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">"
print "<META content=\"MSHTML 6.00.2600.0\" name=GENERATOR></HEAD>"
print "<BODY>hello </BODY></HTML>"
放在cgi-bin目录下。
那在客户端的IE地址栏输入:http://192.168.0.1/cgi-bin/test.py
正确应该显示hello才对,可我这里显示的是:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, you@example.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.


需要对apache进行配置吗?我真不知道怎么配置。网上也没有相关的介绍。。找半天了:(
1.如果你要使用mod_python,你可以按照我的配置,也可以参考mod_python中文文档;

2 如果你要使用cgi的方式,从你的问题来看,似乎是test。py没有可执行权限。

btw:网上文档很多