конфликтующие блоки Perl на отдельных виртуальных хостах

Я размещаю тестовый сайт через VirtualHost на своей локальной машине. Иногда мне нужно протестировать изменения, которые я внес в версию сайта до внесения изменений, просто чтобы увидеть различия в поведении. Сначала я думал, что это будет так же просто, как настроить 2 блока VirtualHost, один с DocumentRoot, установленным на /mysite_new, а другой VirtualHost с DocumentRoot, установленным на /mysite_original... и по большей части это работает. Я устанавливаю ServerName разным для каждого и устанавливаю свой файл хоста так, чтобы он указывал на один и тот же IP-адрес для каждого имени хоста.

Проблема возникает с блоком, который у меня есть в блоке(ах) VirtualHost:

Во-первых:

<Perl>
    use '/mysite_new/lib';   
</Perl>

Во-вторых:

<Perl>
    use '/mysite_original/lib';   
</Perl>

Сначала я думал, что они будут эксклюзивными для любого обслуживаемого виртуального хоста, поэтому они будут использовать свои собственные версии модулей perl в библиотеках, но после небольшого изучения того, как работает mod_perl, кажется, что операторы просто выполняются при чтении конфигурации. при запуске, а последний просто вытеснит первый (предположительно, потому, что use не переключается на массив @INC и, следовательно, соответствует этим модулям /mysite_orig/lib перед /mysite_new/lib?).

Тогда мой вопрос: есть ли способ использовать разные местоположения библиотеки в зависимости от того, какой виртуальный хост обслуживается?


person Grub    schedule 14.06.2013    source источник


Ответы (1)


Нет. Вы можете использовать отдельные экземпляры Apache с разными файлами конфигурации.

person Dondi Michael Stroma    schedule 26.05.2015