2011-01-04 19 views
0

Ich habe eine apache2 Config-Datei unter/etc/init.d/apache2/conf.d/ welche Perl Abschnitte verwendet.Apache mod_perl2 Migrationsproblem

Ich versuche nur zu testen, ob ein Modul geladen ist und Apache entsprechend konfigurieren.

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

Dies ist der Fehler, den ich beim Neustart sehe. Ich habe auch die Apache2-> Methode ausprobiert, bekomme aber denselben Fehler.

# /etc/init.d/apache2 restart Neustarten Webserver: apache2Building Appliance-Konfiguration für Debian 5.0.7 Syntaxfehler auf der Leitung 73 von /etc/apache2/conf.d/foobar.conf: \ t (in Aufräumen) Objektmethode "Modul" kann nicht über das Paket "Apache" gefunden werden (vielleicht hast du vergessen "Apache" zu laden?) in der Zeile /etc/apache2/conf.d/foobar.conf Zeile 357. \ n ist fehlgeschlagen !

Ich glaube nicht, dass es ein @ INC Problem ist ... Und Apache und libapache2-mod-Perl2-Pakete sind beide installiert. In der Tat, wenn ich diese Zeile kommentieren, läuft der Rest der Perl tatsächlich gut.

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 

Ich habe auch versucht, den Apache mit :: compat und "Apache2-> Modul".
Ich vermute, das Problem ist etwas in startup.pl fehlt - aber ich habe googeln und lesen die Mod-Perl-Dokumente und im Kreis herumgehen. Irgendwelche Vorschläge stackoverflow ???

BTW mein startup.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; 

Antwort