Hallo,
nach meinem Update von Kubuntu 12.04 auf 18.04 kann ich meine lokalen Perlseiten im Browser nicht mehr ansehen.
Apache lief vorher immer einwandfrei, nun kam der "500Internal Server Error".
Im error-log fand ich folgende Meldung:
1 | Can't locate common.pm in @INC (you may need to install the common module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /home/glubberer/Dokumente/Homepages/Test/cgi-bin/test.cgi line 3. |
Hier der @INC-Inhalt etwas übersichtlicher:
1 2 3 4 5 6 7 8 9 10 11 12 | perl -e "use Data::Dumper; print Dumper \@INC;" $VAR1 = [ '/etc/perl', '/usr/local/lib/x86_64-linux-gnu/perl/5.26.1', '/usr/local/share/perl/5.26.1', '/usr/lib/x86_64-linux-gnu/perl5/5.26', '/usr/share/perl5', '/usr/lib/x86_64-linux-gnu/perl/5.26', '/usr/share/perl/5.26', '/usr/local/lib/site_perl', '/usr/lib/x86_64-linux-gnu/perl-base' ]; |
Auffällig ist, dass das Arbeitsverzeichnis '.' fehlt, wo auch das gemeinsame 'common.pm' liegt.
Ergänze ich in meinem Script test.cgi vor dem Aufruf von 'use common;' die Zeile
1 | BEGIN {push @INC, '.'} |
so funktioniert es.
Wäre jetzt ein Workarround, aber ich möchte lieber die Umgebungsvariable @INC global so ändern, dass '.' generell dabei ist.
Leider finde ich hierzu nichts. Hat vielleicht jemand eine Idee, wie ich es fixen kann?
Vielen Dank & Grüße
Glubberer