3

Windows Server 2008 R2 で Apache 2.2.22 (win64) を使用して GitWeb を実行しています。ここの指示に従いました: https://git.wiki.kernel.org/index.php/MSysGit:GitWeb 指示によると、msysgit バージョンの perl を gitweb.cgi スクリプトの perl の最初の行として使用する必要があります。

GitWeb は機能しますが、非常に遅く、ページの読み込みに約 10 秒かかります。私が気付いたのは、最初の行として msysgit のバージョンの Perl を使用して "Hello World" スクリプトを書いたとしても、Apache はそれを実行するのも遅いということです。ただし、cygwin の perl (C:/cygwin/bin/perl) など、異なるバージョンの Perl に変更すると、再び高速になります。msysgit 以外の他のタイプの perl を使用して gitweb.cgi を実行することはできません。実行すると、「Projects Not Found」エラーが発生するからです。

4

2 に答える 2

3

数時間後、別の解決策を見つけました。msysgit のバージョンの git と perl を使用する代わりに、cygwin のバージョンを使用します。

1) Cygwin をインストールし、次の cygwin パッケージを選択します: git (および必要に応じて perl)

2) gitweb.cgi ファイルを 3 か所変更します。
gitweb.cgi の最初の行は次のようになります。

#!C:/cygwin/bin/perl

$GIT 変数が適切に設定され、「cygwin」形式であることを確認します。

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

projectroot ディレクトリは、msysgit 形式ではなく、「cygwin」形式である必要があります。

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

何らかの理由で、cygwin のバージョンの perl は、msysgit よりも apache の方がはるかに高速に実行されます。

于 2013-02-17T06:54:18.183 に答える