いくつかの Perl CGI スクリプトで作業するために、Windows で Apache Web サーバーを実行しています。本番環境では、これらのスクリプトは Linux ボックスで実行され、ソース コード リポジトリではすべて次のような#!/usr/bin/perl
シバンがありますが、私の Windows マシンではシバンは になる#!c:\perl\bin\perl.exe
ため、ソース コード ベースと競合します。
Apache ScriptInterpreterSourceディレクティブを入力します。
私はグーグルできることに基づいて、それを機能させようとしています。しかし、これまでのところ運がありません。私は持っている:
これらを適切なディレクティブに追加しました AllowOverride None
Options Indexes FollowSymLinks ExecCGI Order allow,deny Allow from all ScriptInterpreterSource Registry-Strict追加: AddHandler cgi-script .cgi
レジストリを編集し、新しい文字列を追加しました
HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command=C:\Perl\bin\perl.exe
これで、CGI が適切なシバンを持っている限り、このサーバーで動作することがわかりました。
しかし、シバンなしで CGI にアクセスしようとすると、Apache ログが吐き出されます。
タイプ '.cgi' のファイルの Exec CGI Verb が見つかりません
考え、洞察、またはワイルドなお尻の推測さえもいただければ幸いです。
ありがとう。