ローカル マシンで VirtualHost を介してテスト サイトをホストしています。動作の違いを確認するためだけに、変更前のバージョンのサイトに対して行った変更をテストする必要がある場合があります。最初は、これは 2 つの VirtualHost ブロックを構成するのと同じくらい簡単だと思いました。1 つは DocumentRoot が /mysite_new に設定され、もう 1 つの VirtualHost は DocumentRoot が /mysite_original に設定されています...そしてほとんどの場合、これは機能します。それぞれに異なる ServerName を設定し、ホスト ファイルが各ホスト名の同じ IP アドレスを指すように設定しました。
VirtualHost ブロックにあるブロックで問題が発生します。
最初に:
<Perl>
use '/mysite_new/lib';
</Perl>
2番目に:
<Perl>
use '/mysite_original/lib';
</Perl>
最初は、これらはサービスを提供している仮想ホストに限定されると思っていたので、libs 内の perl モジュールの独自のバージョンを使用しますが、mod_perl がどのように機能するかを少し調査した後、構成が読み取られるときにステートメントが実行されるだけのようです起動時と後者は単純に前者を置き換えます (おそらく、@INC 配列に unshifts を使用するため、/mysite_new/lib? の前のモジュール /mysite_orig/lib と一致するため)。
私の質問は、どの仮想ホストがサービスを提供しているかに応じて、異なるライブラリの場所を使用する方法はありますか?