0

我正在尝试通过这两个链接http://blog.jaredreisinger.comVampire Basic使用 ISAPI 让 Mercurial hgweb 工作。服务器是 IIS 6.0 Windows server 2003。

一年前,在同一台机器上,我使用 CGI for TortoiseHG 1.0 作为实验成功让 Mercurial hgweb 运行,但由于某些原因,当我尝试添加 TortoiseHG 1.9+ 项目时,存储库网站会损坏,看起来 .hg 目录有1.0 和 1.9+ 的文件结构完全不同,我认为最简单的方法是创建新的存储库和 web 目录。

所以这次在寻找更多关于设置 Mercurial 的更新信息后,我决定采用 ISAPI 路由而不是 CGI,因为它似乎更容易设置并且运行速度应该更快(这对我来说并不重要)。

但是在一步一步地阅读这两篇文章之后,我总是在 Chrome 中收到错误消息:“系统找不到输入的环境选项。” 每次我重新启动 IIS 后,如果我刷新页面,消息将变为“未指定错误”。

如果我在 IE 中查看此页面,错误消息将是“网站无法显示页面 HTTP 500”。

在这两种情况下,错误消息都不是很有帮助,我真的不知道可能是什么问题。不知道有什么方法可以获得更详细的日志/调试信息?否则,如果没有足够的信息,任何人都很难帮助我。

对于我的 hgwebdir_wsgi.py,我只更改了这一行:

# Configuration file location
hgweb_config = r'c:\Inetpub\HgWeb\hgweb.config'

对于我的 hgweb.config,我使用的是最低配置

[paths]
/ = I:\CompanyName\Development\SVCProjects\*

我使用 Python 2.6.6,Python 2.6 使用 PyWin32 2.16,Py2.6 使用 Mercurial 1.9,Windows 0.42 使用 ISAPI_WSGI。

编辑:查看 IIS 日志,我得到以下几行:

2011-07-19 03:42:51 W3SVC1 127.0.0.1 GET /hg/hgwebdir.cgi - 443 pstar 127.0.0.1 Mozilla/5.0+(Windows+NT+5.2)+AppleWebKit/534.30+(KHTML,+like+Gecko )+Chrome/12.0.742.122+Safari/534.30 500 0 203 333 435

2011-07-19 03:42:51 W3SVC1 127.0.0.1 GET /favicon.ico - 443 - 127.0.0.1 Mozilla/5.0+(Windows+NT+5.2)+AppleWebKit/534.30+(KHTML,+like+Gecko)+铬/12.0.742.122+Safari/534.30 404 0 2 1830 358

所以看起来 IIS 仍在尝试使用我已经删除的 hgwebdir.cgi,不知道如何解决。

4

1 回答 1

1

我通过使用“python -m win32traceutil”找出原因(从 hgwebdir_wsgi.py 源代码注释中获得)。基本上它无法加载模块'hgwebdir_wsgi'。原因是 Mercurial Python 模块 1.9 没有使用 win32 安装程序正确安装。我从这里尝试了另一个 SO 问题解决方案的方法,除了我没有复制 MFC71.dll,这对我不起作用。最后我找到了这个链接issue2582,并通过下载 Mercurial Python win32 安装程序的非官方版本来遵循临时解决方案,它可以工作。

于 2011-07-20T04:40:30.973 回答