mod_perl (mod perl v2.0.4 / perl v5.10.1) を使って、Windows Server 2008 R2 に新しい Apache 2.2.15 サーバーをセットアップしました。mod_perl と Perl 5.10 は問題なくインストールされ、ロードされました。しかし、私の設定にもかかわらず、mod_perl モジュールは .pl ファイルを認識して実行できず、代わりに perl ソースを出力します。何が間違っているのでしょうか。また、クライアントに送信するのではなく、perl で pl スクリプトを処理するにはどうすればよいのでしょうか。
私の設定:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:\Program Files (x86)\AWStats\wwwroot"
ServerName analysis.example.com
ServerAlias analysis.example.com
ErrorLog "logs/analysis.example.com-error.log"
CustomLog "logs/analysis.example.com-access.log" common
DirectoryIndex index.php index.htm index.html
PerlSwitches -T
<Directory "C:\Program Files (x86)\AWStats\wwwroot">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "C:\Program Files (x86)\AWStats\wwwroot\cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
<FilesMatch "\.pl$">
SetHandler perl-script
# #PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
</FilesMatch>
</directory>
</VirtualHost>
ご協力本当にありがとうございました!
答え1
ご覧になったと思いますこのページ? mod_perl を正しくロードしていますか?
今も問題になるかどうかはわかりませんが、少なくとも以前は Apache のパスにスラッシュを使用する必要がありました。たとえば、"C:\Program Files (x86)\AWStats\wwwroot\cgi-bin"
に変更します"C:/Program Files (x86)/AWStats/wwwroot/cgi-bin"
。また、 が大文字でないことに気付きましたが</directory>
、これも問題になるかどうかはわかりません。
また、ディレクティブではなくディレクティブを使用して、それぞれ「」と「」に変更することもできます。