在Windows XP上运行Python CGI脚本

1 投票
2 回答
1464 浏览
提问于 2025-04-15 21:24

我有一台装了Windows XP的电脑,上面通过VisualSVNServer安装了Apache。我想在浏览器里运行一个简单的Python CGI脚本,比如这个链接:http://build.procepts.com.au:8080/hg/cgi-bin/test.cgi。可是,不管我尝试了多少推荐的方法,浏览器总是只显示CGI脚本的纯文本。为了找到解决办法,我还按照这里的说明进行了尝试。我的最终目标是希望能用Apache服务器来提供一个新的Mercurial安装的仓库。既然Apache已经通过VisualSVNServer安装好了,我想干脆利用它。请问还有什么其他的方法可以让这个工作正常吗?

2 个回答

0

我不确定这是否适用于VisualSVNServer,但在一般的Apache服务器上,你至少需要做以下几件事:

  1. 在Apache配置文件中取消对CGI模块的注释:

    LoadModule cgi_module modules/mod_cgi.so (or similar)
    
  2. 允许在你的目录中执行CGI脚本,并为.py脚本添加一个处理器:

    <Directory /path/to/scripts/directory>
        Options +ExecCGI
        AddHandler cgi-script py
    </Directory>
    
  3. 在要执行的脚本中插入一个shebang行:

    #!/usr/local/bin/python
    
1

VisualSVNServer自带的Apache服务器是一个简化版,只能满足基本的SVN仓库服务需求。它不支持cgi功能。

不过,添加cgi支持(或者其他模块)其实很简单。

具体来说,要添加cgi支持,你需要获取一个为Apache 2.2 Win32构建的“mod_cgi.so”文件,并把它放到“C:\Program Files\VisualSVN Server\bin”这个文件夹里。然后在:

LoadModule cgi_module bin/mod_cgi.so
ScriptAlias /cgi-bin/ cgi-bin/

中添加一段代码到“C:\Program Files\VisualSVN Server\conf\httpd-custom.conf”文件里。重启VisualSVN后,它就应该可以正常工作了。

撰写回答