1

perl アプリケーションを実行する Apache サーバー インスタンスを継承しました。このディレクティブは httpd.conf で見つかりました。

<perl>
use lib qw(
    /relative path1
    /relative path2
);
</perl>

このディレクティブで見つけた最小限のドキュメントには、すべての apache conf ファイルが perl で記述されるようになると書かれています。しかし、上記のコードは @INC に lib パスを追加するだけです。誰かがこの指令についてもっと知っていますか?

4

2 に答える 2

1

mod_perl では、このタグにより、Perl を httpd 構成ファイルで使用/実行できるようになり、標準の httpd 構成のビットとピースを実行するための一連の変数とメソッドも提供されます。 http://perl.apache.org/docs/2.0/api/Apache2/PerlSections.html

あなたの設定例については、mod_perlで実行されているすべてのlibパスを変更しようとしているとしか思えません。それ以外の場合、それ自体ではあまり意味がありません(設定ファイルにさらにセクションがない限り?)

構成された lib パスが表示された場合は、Web ホストで実行された Perl スクリプトをチェックインします。

print join "\n", @INC;
于 2012-06-24T18:41:59.467 に答える
0

Re: 「しかし、上記のコードは @INC に lib パスを追加するだけです。」

それがまさにそのコードが行うべきことです。この特定のコードは、インクルード パスを追加してPerlModule、非標準パスから (おそらく を使用して) モジュールをロードできるようにするためのものです。

この<perl>セクションでは、外部の perl ファイルではなく、Apache 構成ファイルで Perl コードを実行できます。これは便宜上のみ提供されており、(より一般的だと私が思うに) ディレクティブPerlRequireが提供する以上の追加機能は提供しません。

ディレクティブが「Apache 構成ファイルを Perl で作成する」と言うの<perl>は、実際には意味がなく、正しくありません。必要に応じてそうすることができます、それはここで行われていることではありません.

于 2012-06-25T01:26:50.607 に答える