Mailinglisten-Archive |
Hallo Michael, Zitat von Michael Detambel: > in einer Anwendung, die ich erweitert und auf verschiedene Ordner > aufgeteilt habe muss ich die Bezüge für die includes anpassen. Dabei > habe ich verschiedene Varianten (z. B. PHP_SELF, dirname() etc.) > ausprobiert. > > Frage: Gibt es eigentlich eine allgemein anerkannte Methode, in einem > Skript solche Pfadangaben zu setzen? Wobei man ja sicher noch > unterscheiden muss, ob das Skript auf dem eigenen Server oder bei einem > Hoster liegt (notorische Meldung "open_basedir restriction in effect"). die Probleme, die mir bei der Angabe des absoluten Pfads von Includes untergekommen sind, sind eigentlich nur die beiden folgenden: 1. DOCUMENT_ROOT ist in der Konfigurationsdatei des alten Servers mit Slash ("/") am Ende angegeben, in der des neuen aber ohne bzw. umgekehrt. 2. Die Website ist z.B. sowohl unter http://www.deine-domain.de/ als auch unter http://www.deine-domain.com/de/ erreichbar, so dass hier je nach Server-Adresse ein anderes DOCUMENT_ROOT-Verzeichnis in der httpd.conf eingetragen ist. Der absolute, physische Pfad zu Deinem Include-Verzeichnis ist aber in beiden Faellen gleich. Aus diesen Gruenden bin ich davon abgekommen, in den Skripten direkt die Umgebungsvariablen des Servers wie $_SERVER['DOCUMENT_ROOT'] zu verwenden, um den absoluten Pfad fuer ein Include zu ermitteln. Ich verwende in meinen Skripten jetzt immer selbst definierte Variablen fuer den DOCUMENT_ROOT-Pfad und andere fuer meinen Server relevante Pfade (z.B. http-Verzeichnis, ftp-Verzeichnis, Includes-Verzeichnis). Diese Variablen werden in einer Include-Datei definiert, die ich serverseitig ueber auto_prepend am Anfang aller PHP-Skripte einbinde. Sollte dann eine Anpassung an eine neue Serverumgebung bzw. konfiguration noetig sein, kann ich das alles in dieser einen Datei abfackeln und muss nicht fehleranfaellig und aufwendig viele Stellen in meine Skripten anpassen. Hilft Dir das vielleicht als Anregung schon weiter, oder habe ich Deine Aufgabenstellung falsch verstanden? Viele Gruesse Lutz
php::bar PHP Wiki - Listenarchive