使用MSysgit的Perl intrepretor在Windows上的Apache下GitWeb非常慢

时间:2013-02-17 01:53:06

标签: windows apache msysgit gitweb

我正在使用Apache 2.2.22(win64)在Windows Server 2008 R2上运行GitWeb。我按照这里的说明操作:https://git.wiki.kernel.org/index.php/MSysGit:GitWeb 说明说我们应该使用msysgit版本的perl作为gitweb.cgi脚本中perl的第一行。

GitWeb有效,但速度非常慢,加载页面大约需要10秒钟。我注意到的是,即使我使用msysgit的Perl版本作为第一行编写“Hello World”脚本,Apache也很难执行。但是,如果更改为不同版本的Perl,例如cygwin的perl(C:/ cygwin / bin / perl),它又会很快。除了msysgit之外,我无法使用任何其他类型的perl来执行gitweb.cgi,因为当我这样做时,我会收到“找不到项目”错误。

2 个答案:

答案 0 :(得分:3)

几个小时后,我找到了另一种解决方案。我们不会使用msysgit的git和perl版本,而是使用cygwin:

1)安装Cygwin,并选择以下cygwin软件包:git(必要时为perl)

2)在3个地方修改gitweb.cgi文件 gitweb.cgi的第一行应该说:

#!C:/cygwin/bin/perl

确保$ GIT变量设置正确,并在" cygwin"格式:

our $GIT = "C:/cygwin/bin/git";

projectroot目录必须在" cygwin"格式,而不是msysgit格式:

our $projectroot = "/cygdrive/c/temp/repos";

出于某种原因,cygwin的perl版本在apache下的执行速度比msysgit下的版本快得多。

答案 1 :(得分:0)

只需在httpd.conf中添加下一行

即可

SetEnv LOGONSERVER \ machine