Perl CGIスクリプトが実行されない理由

Perl CGIスクリプトが実行されない理由

私はCentOSでApacheを使用しており、Perl CGIスクリプトをディレクトリインデックスとして実行して自動的にサブドメインとして実行しようとしています。スクリプトを実行できるパスを記録するDirectoryIndex script.cgiセクションを追加して追加しました。Directory/var/www/folder

スクリプトが機能する唯一の方法は、File *.cgiディレクトリセクションの内部(または外部)にセクションを追加し、関連セクションをその中に移動することです。

    Options +ExecCGI and SetHandler perl-script

私はまだApacheを学んでいますが、なぜフォルダを参照するだけでは十分ではないのかと思います。ファイルセクションと参照も追加する必要があるのはなぜですか*.cgi? CGIスクリプトはこのフォルダ内の唯一のファイルです。

ベストアンサー1

cgiスクリプトを実行したいので、apache2はperlを知る必要はありません。したがって、対応するディレクティブを削除しますSetHandler

デバッグするには、あなたのもの/var/log/apache2/error.logなどを見てください。ディレクトリはApacheからアクセスできる必要があります。実行するスクリプトには実行フラグのセットが必要です。

構成例:

    ScriptAlias /cgi-bin/ /var/www/cgi-bin/
    <Directory "/var/www/cgi-bin/">
            AllowOverride None
            Options +ExecCGI -MultiViews
            Order allow,deny
            Allow from all
    </Directory>

おすすめ記事