phpbar.de logo

Mailinglisten-Archive

[php] require_once() - Unterschiedliche Pfadangaben zwischen PHP4.2.3 und PHP4.3.2???

[php] require_once() - Unterschiedliche Pfadangaben zwischen PHP4.2.3 und PHP4.3.2???

Carsten Krautwald info at webservice-krautwald.de
Don Aug 14 10:36:11 CEST 2003


Guten Morgen,

ich bin ein wenig am verzweifeln. Und scheinbar habe ich von 
irgendwelchen Änderungen innerhalb PHP nichts mitbekommen und wende mich 
nun an die Liste.


Ich setze W2K mit einem WAMP zum lokalen Entwickeln ein. Auf der 
Entwickler-Maschine läuft derzeit noch PHP4.2.3.

Das Programm, welches ich auf eine andere W2K Maschine mit PHP4.3.2 
einsetzen möchte, setzt häufig den Befehl require_once() ein, um sich 
Dateien aus dem Unterverzeichnis zu holen.

Dabei kommt es auch vor, dass eine Datei aus einem Unterverzeichnis eine 
andere Datei aus dem gleichen Unterverzeichnis per require_once() einliest.

Alles wird lediglich von einer einzigen index.php Datei im root-dir 
gesteuert.

Auf der Entwicklermaschine kann ich ohne Probleme Datei wie folgt 
einholen: require_once("inc/datei.inc.php");

Der gleiche Aufruf auf dem Zweitrechner (mit PHP4.3.2) zeigt mir eine 
Fehlermeldung an:

Warnung: main
("inc/datei.inc.php")
failed to open stream. No such file or directory in ....

Obwohl vorhanden! Es liegt an der Zuordnung der Pfade. Nach manueller 
Überarbeitung des Quellcodes, indem ich vor die Pfadangaben z.B. 
$_SERVER['DOCUMENT_ROOT'] setzte läuft das Script. Allerdings nicht mehr 
auf der Entwicklermaschine (PHP4.2.3)!?

Da ich keine Lust habe, jetzt zwei Versionen des Programms zu erstellen 
und mir auch sicher bin, dass ich das nicht zwangsläufig muss :)... 
frage ich mal allgemein in die Runde:

1. Irgendwelche Vorschläge, wie man das Problem elegant lösen kann?
2. Welche Einstellung bei PHP ist verantwortlich für das 
unterschiedliche Verhalten der beiden Versionen? Und wie muss ich die 
Einstellung abändern, damit das Verhalten auf beiden Maschinen 
gleichzeitig funktioniert.

Um "Querfragen" vorzubeugen. Ich kann das System auf dem Zweitrechner 
ohne weiteres auf die Bedürfnisse dieses einen Programms "verbiegen". 
Die Software wird ausschließlich lokal laufen und ist das einzige 
Programm, welches auf dem lokalen Webserver läuft.

Vielen Dank für Eure Antworten bereits im Voraus

Gruß

Carsten



php::bar PHP Wiki   -   Listenarchive