apache2 + mod_perl - тупое баг =( [РЕШЕНО]
нажал:
emerge apache2
emerge perl
emerge mod_perl
в /etc/conf.d/apache - ..-D PHP5 -D PERL
в /etc/apache/modules/ mod_perl само прописало то что нужно..
дальше пишу:
/etc/init.d/apache2 start
оно - [!!]
в логе апача (error_log):
[Wed Aug 29 03:15:29 2007] [error] Can't locate lib.pm in @INC (@INC contains: /etc/perl /usr/lib
/perl5/vendor_perl/5.8.8/i386-linux /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /
usr/lib/perl5/site_perl/5.8.8/i386-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl
/usr/lib/perl5/5.8.8/i386-linux /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl . /usr/lib/apache2)
at /etc/apache2/modules.d/apache2-mod_perl-startup.pl line 1.\nBEGIN failed--compilation aborted
at /etc/apache2/modules.d/apache2-mod_perl-startup.pl line 1.\nCompilation failed in require at
(eval 2) line 1.\n
[Wed Aug 29 03:15:29 2007] [error] Can't load Perl file: /etc/apache2/modules.d/apache2-mod_perl-
startup.pl for server pussy:80, exiting...
что ему надо ?
- Для комментирования войдите или зарегистрируйтесь
Что никто mod_perl
Что никто mod_perl не использует ?
ткните на толковую доку как на гентоо сделать апач + мод_перл.. плиииз.
вообще я так
вообще я так поняо=л что он файл ненашёл просто.
попробуй сделать
equery f mod_perl
и посмотреть куда он что ставит, и сопоставить с тем что ищет апач.
Весь гемор в
Весь гемор в том что дока вся невнятная. По идее и без этих телодвижений перл скрипты работали, но не черещ mod_perl а просто как CGI. После первого поста можно долго извращаться с разными параметрами и каждый раз apache2 ругался что не знает PerlHandler или в своих @INC не находил *.pm модулей.
Файл lib.pm входит в состав
Файл lib.pm входит в состав самого perl. Я бы проверил - не стоит ли у тебя каким-то образом более одного perl в системе. Затем переустановил perl и mod_perl.
Если файл lib.pm на месте, можно еще в настройках апача проверить - не выставлена ли в http.conf и аналогичных рядом с ним переменная PERL5_LIB. Это аналог LD_LIBRARY_PATH для Perl.
Fixed
Может кому будет полезным...
нажал:
emerge libperl
rm /etc/apache2/modules.d/75_mod_perl.conf
добавил в httpd.conf
/etc/init.d/apache2 start
[ok]
а если прото
а если прото снести mod_perl ?
то что ты снёс - кому принадлежало?
ну а если вставиш [РЕШЕНО] в тему первого поста - вообще великолепно будет...
mod_perl не сносил.
mod_perl не сносил. Я просто удалил файло которое в папке /etc/apache2/modules.d что отвечает за подргрузку модуля perl.
Решено нельзя ставить.. потому что я не понял как сделать так чтоб запускать перл скрипты как пхп. Чтоб из любой директории работало и в строке статуса сервера чтоб было "Apache/2.0.54 (Gentoo/Linux) mod_ssl/2.0.54 mod_perl/2.. pussy Port 80
надо же. спустя столько
надо же. спустя столько времени а та же проблема.
вообщем кажется пришло понимание причины данной проблемы:
1) апач сконфигурирован на запуск с mod_perl
2) этом файле apache2-mod_perl-startup.pl описываются модули перла, которые будут доступны через mod_perl
собственно причина в том, что в этом файле объявлен модуль перла, путь к которому оно при запуске апача не может найти.
Фактический пример:
в системе установлено
dev-perl/Apache-DBI,
в файле apache2-mod_perl-startup.pl
пишу: use Apache::DBI();
в ошибке получаю:
причем:
как же сделать так, что бы искалось там, где оно по факту лежит? и странно, но почему же этого не сдалано при установке этого dev-perl/Apache-DBI?
[решено] - теперь mod_perl действительно запускается
Итак, собственно копание в направелнии учебников по perl
дало следующую информацию:
пути, где ищутся модуля perl заданы в массиве @INC.
Таким образом задача сводится к добавлению нужных путей в данный массив. Покопав в этом направлении,
подкорректировал свой apache2-mod_perl-startup.pl - собственно добавление нужных путей в массив @INC
у меня выглядит следующим образом:
ну и соответственно в логах запуска апача получаем: