Как мне сказать mod_perl2 найти мои модули Perl? - PullRequest
1 голос
/ 15 апреля 2010

Я только что установил свою систему с Oracle 64-bit Linux5.4 под управлением Apache Server версии: Apache / 2.2.3 и mod_perl 2.

Теперь мои библиотеки Perl установлены по определенному пути: / my / perl / libs, и я настроил свой httpd.conf для компенсации этого (я добавил ниже):

SetEnv MY_LIBS / my / perl / libs

и в моих программах CGI я настраиваю свою среду для компенсации:

использовать lib ($ ENV {'MY_LIBS'});

Иногда мои модули Perl распознают путь к / my / perl / libs и вызывают все функции соответствующим образом, а иногда нет, что приводит к ошибке 500.

Когда я перезапускаю apache (/etc/init.d/httpd restart), все работает нормально, но затем появляется ошибка 500.

Есть какие-нибудь идеи? На что мне смотреть?

Ответы [ 2 ]

0 голосов
/ 02 июня 2010

Я всегда помещаю такой блок в мой httpd.conf:

<Perl>
    use lib "/my/perl/lib";
</Perl>

Я поставил это перед любым PerlModule или другими настройками, связанными с perl.

0 голосов
/ 19 апреля 2010

Вы не можете просто использовать lib в скрипте mod_perl2. Вам нужно либо создать скрипт 'startup.pl' с необходимым 'use lib', либо добавить параметр PerlSwitches. Смотри http://perl.apache.org/docs/2.0/user/config/config.html#Adjusting_C__INC

...