3

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

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

4

2 回答 2

3

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

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

2)修改gitweb.cgi文件3处。
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 下的要快得多。

于 2013-02-17T06:54:18.183 回答
0

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

SetEnv 登录服务器\机器

于 2015-07-21T03:53:51.120 回答