Apache mod_perl2 проблема миграции - PullRequest
0 голосов
/ 04 января 2011

У меня есть файл конфигурации apache2 в /etc/init.d/apache2/conf.d/, в котором используются разделы Perl.

Я просто пытаюсь проверить, загружен ли модуль, и настроить Apache соответствующим образом.

if( Apache->module( "mod_ssl.c" ) )
{
  ...
} else { ... }

Это ошибка, которую я вижу при перезапуске. Я также попробовал метод Apache2->, но получил ту же ошибку.

# /etc/init.d/apache2 restart Перезапуск веб-сервера: настройка устройства apache2Building для Debian 5.0.7 Синтаксическая ошибка в строке 73 файла /etc/apache2/conf.d/foobar.conf: \ t (в процессе очистки) Не удается найти объектный метод "module" через пакет "Apache" (возможно, вы забыли загрузить "Apache"?) в строке /etc/apache2/conf.d/foobar.conf 357. \ n не удалось!

Я не думаю, что это проблема @INC ... И пакеты apache и libapache2-mod-perl2 установлены. На самом деле, если я прокомментирую эту строку, остальная часть perl будет работать нормально.

perl -e 'print join "\n",@INC'
/etc/perl
/usr/local/lib/perl/5.10.0
/usr/local/share/perl/5.10.0
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.10
/usr/share/perl/5.10
/usr/local/lib/site_perl

Я также пытался использовать Apache :: compat и «Apache2-> module».
Я подозреваю, что проблема в том, что чего-то не хватает в файле startup.pl - но я гуглял и читал документацию по моделям Perl и ходил кругами. Любые предложения stackoverflow ???

Кстати - мой стартап.pl:

#!/usr/bin/perl -w
use strict;
use lib qw( /usr/lib/perl5/ /usr/lib/perl5/Bundle /usr/lib/perl5/Apache2 ) ;

BEGIN
{
    use Apache2 ();
    my $hostname = `hostname`;
}
use Apache;
use Apache::DBI ();
use Apache2::Const ();
use Apache2::Log ();
use Apache2::URI ();
use Apache2::compat;
use LWP::UserAgent ();
use DBI() ;

1;

1 Ответ

0 голосов
/ 11 февраля 2011

В документации по портированию от 1.0 до 2.0 предлагается Apache2::Module::loaded()

...