我正在尝试将Mercurial存储库设置为在windowsserver2003下由IIS托管。在this post之后,我安装了python2.5.4.4和Mercurial 1.3,设置virtualdir,提取图书馆.zip创造了hgwebdir.config文件. 在
但是,当我试图打开http://hostname/hg/hgwebdir.cgi时,我得到了一个错误“指定的CGI应用程序行为不当,没有返回一组完整的HTTP报头。”我尽力做到了:
- 已检查到.py和.cgi扩展名的IIS映射。我甚至尝试使用FastCGI,但没有成功。在
- 在同一个目录下创建了“Hello World”,并检查它是否正常工作。在
- 已检查IUSR、IWAM和NETWORK SERVICE对Python、IIS和repos目录的读/执行权限。在
- 尝试从Mercurial mailing list应用两个不同的修补程序。既然他们都老了,我就没有成功过。在
- 安装了Sysinternals的procmon,并在请求期间检查文件系统错误。我在Python的进程中发现了很多缓冲区溢出的结果。在
- 尝试将“Content-type:text/html”添加到脚本中。在
还有一件事是当我请求不存在的脚本文件时(例如/hg/不精确.cgi)我也有同样的错误。什么也帮不了你!在
Tags:
最后,我得到了任何python脚本错误返回的“no headers”错误,所以我用控制台解释器检查了脚本,并修复了配置文件中的错误。当然,我应该在ServerFault而不是StackOverflow上问这个问题——睡眠不足造成了这个问题:)
在http://vampirebasic.blogspot.com/2009/06/running-mercurial-on-windows.html上有一篇很好的文章可以让你开始,但是如果你需要更多的细节或者比作者更进一步的话,我有一篇4部分的博文,涵盖了在IIS上安装和运行所需了解的所有内容,包括Active Directory集成、拉/推权限、UI的自定义:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
值得一读。。。在
我还需要解决一些问题:
c:\whatever\Python26\python.exe -u "%s" "%s"
而使用c:\whatever\Python26\python.exe -u -O -B "%s" "%s"
-O会导致它也查找.pyo文件(不仅仅是.py或.pyc,至少在我的版本中没有)。-B导致它不尝试将找到的.py文件编译成.pyo文件(由于缺少写入权限而失败)相关问题 更多 >
编程相关推荐