Mailinglisten-Archive |
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