Mailinglisten-Archive |
Tag allerseits, immer wieder mal stehe ich Problemen bez. require/include gegenüber, wenn die Skripte nicht im gleichen Verzeichnis liegen, sondern in einem Unterverzeichnis des Arbeitsverzeichnisses. Er kürzlich gab es foldendes Problem: Dateistruktur: main.php cliescript.php db.php admin/index.php admin/inc1.php admin/inc2.php oder als Baumansicht: +-- main.php | +-- cliscript.php | +-- db.php | +-- admin +-- index.php | +-- inc1.php | +-- inc2.php Die Dateien admin/inc1.php und admin/inc2.php importieren die Datei '../db.php' und die Datei admin/index.php die Dateien '../db.php', 'admin/inc1.php' und 'admin/inc2.php'. Wenn admin/index.php über den Webserver (Apache) aufgerufen wurde, dann gab es keine Probleme mit den Pfaden. Als jedoch das cliscript.php hinzukam, das ebenfalls 'admin/inc1.php' und 'admin/inc2.php' einbindet, gabt es Probleme mit dem Zugriff auf '../db.php' aus inc1.php heraus. php hat die relative Pfadangaben nicht aufgelöst sondern einfach kopiert. Ich hätte erwartet, dass php die Datei db.inc im Verzeichnis admin/../db.php sucht, da das ausgeführte script clisript.php war. Gesucht wurde es aber im Verzeichnis ../db.inc (bezogen auf cliscript.php). Hat irgendjemand eine Strategie im Umgang mit require / include entwickelt, oder sich mal tiefergehende Gedanken darüber gemacht. Ich würde ganz gerne das Problem in Zukunft umgehen, da die Lösung jedesmal lästig ist und Zeit kostet. Gruss, Oliver Block
php::bar PHP Wiki - Listenarchive