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 11:00:11 CEST 2003


Hallo Steffen,

Danke für die superschnelle Antwort.


> Hast du beachtet, dass der Pfad zu einer Datei, die aus einer bereits über 
> require eingebundeten Datei nicht von der eingebundeten ausgeht, sondern 
> von der aufgerufenen Datei.
> 
> Beispiel:
> 
> /seite1.php:
> require_once("inc/include1.php");
> 
> /inc/include1.php: (/inc/include2.php einbinden)
> require_once("include2.php");
> 
> wird nicht gehen, da es in dem Verzeichnis / keine include2.php gibt, 
> sondern im Verzeichnis inc - daher müsste es heißen: require_once
> ("inc/include2.php");

Tja, aber genau das ist der Fall. Der originale Code (auf der 
Entwicklermaschine) ist eben so aufgebaut, wie auch Du empfiehlst. Also 
immer ausgehend von der ersten Verzeichnisinstanz, weil ja alle weiteren 
Datei aus Unterordner bezogen werden.

Nur... auf dem Zweitrechner, dessen einziger Unterschied eben eine 
andere PHP-Version ist (4.3.2) läuft es nicht. Im Gegenteil: Genau das, 
was eigentlich nicht laufen dürfte, geht. Beispiel:

index.php ruft im Unterverzeichnis /inc/ eine Datei auf

require_once("inc/datei1.inc.php");

datei1.inc.php ruft anschließend datei2.inc.php auf, die im gleichen 
Unterverzeichnis liegt. Auf der Entwicklermaschine läuft es mit dem 
korrekten Code:

require_once("inc/datei2.inc.php");

Auf dem Zweitrechner wird die Datei komischerweise erst geladen, wenn 
der Aufruf lautet:

require_once("datei2.inc.php");

Um ehrlich zu sein. Ich verstehe das nicht ganz und bin bisher auch im 
Internet nicht fündig geworden...

Gruß

Carsten


php::bar PHP Wiki   -   Listenarchive