PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Migration zu mod_perl



mcspam
01.11.05, 23:53
Hallo

aus Perfomanzgründen migriere ich gerade auf meinem lokalen Apache Server zu der mod_perl Implementierung, die bisher einen sehr schnellen und soliden Eindruck auf mich macht. Mit einem Auge schiele ich dabei schon auf Apache::SSI und Apache::DBI.
Nun hänge ich allerdings schon an dem Problem, dass meine bisherige Verwendung von use lib "../lib"; mit der relativen Pfadangabe scheitert.
Das aktuelle Arbeitsverzeichnis von dem aufgerufenen Skript ist mit mod_perl nämlich "/" und nichtmehr das Verzeichnis, indem sich das Skript befindet.

Das Abändern der Skripte möchte ich vermeiden, da ich dadurch auch die Portabilität auf Umgebungen ohne mod_perl verliere.

Vielleicht irre ich auch, aber was ist denn die einfachste Lösung für meinen Fall?

Danke und Gruß
Benne

SmackTV
02.11.05, 20:00
Hi,

Wenn du kompatibel zu deinem alten Verfahren sein willst, und dies ohne alle Scripte anzufassen, dann trage alle Pfade in die Startup-PL-Datei vom mod_perl Plugin ein.

Diese müssen dann aber auf jeden Fall mit kompletten Pfad eingetragen werden (Bsp.: use lib "/srv/www/blah/lib";

Bei mir (SuSE 9.2) liegt das Startup-Script hier: /etc/apache2/mod_perl-startup.pl

Damit solltest du zum Ziel kommen.

MFG,
SmackTV

mcspam
02.11.05, 21:39
also irgendwie befriedigt mich das noch nicht ganz.
Schön wäre ein Lösung mod_perl dazu zu bringen, das aktuelle Arbeitsverzeichnis auf den Pfad des Skriptes zu setzen.
Alternativ würde es ja reichen, das Verzeichnis des skripts als Parameter zu übergeben.

Aber in %ENV, @ARGV stehen keine entsprechenden Informationen.