include und absoluter Pfad

jenno

Erfahrenes Mitglied
Es ist echt zum Mäuse melken! Auf einem Rechner funktioniert es, auf dem anderen dagegen überhaupt nicht. Ich habe in meinem Apache Heimatverzeichnis einen Order für ein Projekt mit der folgenden Struktur:

www - Heimatverzeichnis Apache

www/meinProjekt/filialen/filiale1
www/meinProjekt/allgemein/inc

So, jetzt habe ich im Ordner filiale1 meine index.php zu liegen und im Ordner inc die Datei settings.inc. In der index.php steht gleich oben folgendes

PHP:
include_once("/meinProjekt/allgemein/inc/settings.inc");

Was mich zum Verzweifeln bringt ist die folgende Fehlermeldung:

Warning: main(/meinProjekt/allgemein/inc/settings.inc): failed to open stream: No such file or directory in c:\program files\easyphp1-7\www\meinProjekt\filialen\filiale1\index.php on line 1

Da das aber mit der gleichen Ordnerstruktur auf einem anderen Rechner schon funktioniert hat und die Pfadangabe auch definitiv stimmt, denke ich, dass das etwas mit dem absoluten Pfad im include() zu tun hat. Kann mir jemand verraten, warum das nicht funktioniert?
 
Durch einen Slash / zu Beginn einer Pfadangabe, geht diese vom Root Verzeichnis aus. Nun kann es jedoch sein, dass deine Webpräsenz nicht direkt im Root Verzeichnis liegt, sondern in einem Unterordner unter dem Root Verzeichnis.

Über die Variable $_SERVER['DOCUMENT_ROOT'] gelangst du an die Pfadangabe, die du noch vor deine Pfade schreiben musst, wenn du vom root ausgehst.

Was das Ganze einfacher machen würde, wäre wenn du einfach den / zu Beginn weglässt und dich relativ in den Verzeichnissen bewegst.
 
Vielen Dank!

Ich habe jetzt den ersten / weggelassen und dann klappt es auch. Was ich dann trotzdem immernoch nicht verstehe, wenn ich zum Beispiel ein JavaScript einbinde, dann geht das nur mit / am Anfang.

PHP:
<script type="text/javascript" src="/meinProjekt/allgemein/inc/main.js"></script>

Hmm, das eine ist eben HTML und das andere PHP!? Und PHP braucht eine Pfadangabe im Verzeichnissystem während für HTML nur alles vom Heimatverzeichnis vom Webserver aus existiert? Oder so ähnlich

Fragen über Fragen!
 
Zurück