Hi,
nachdem ich neulich Windows neuinstalliert habe, geistert im Moment ein äußerst merkwürdiges bzw. mir unerklärliches Phänomen auf meinem Apache herum...
Ich habe lokal einen Apache2, PHP4 und MySQL installiert. Jetzt hab ich ein Unterverzeichnis (wohlgemerkt eines) von ca. 10, in dem PHP sich weigert, includes auszuführen...
Erst mal meine Verzeichnisstruktur:
c:\apache\htdocs\
.. _projekte
.... andere
.... auftrag
...... doc
...... inc
.... e7o
...... doc
...... inc
.... ec
.. doc
.. inc
ein bisschen gekürzt und vereinfacht dargestellt...
in htdocs\ selbst liegt ein Projekt, im Unterverzeichnis _projekte\ liegen ein paar andere in eigenen Verzeichnissen.
Nehmen wir jetzt mal die beiden Projekte auftag und e7o (meine neue Website übrigens, d. h. das Verhalten tritt an einer ungünstigen Stelle auf...
In den Verzeichnissen liegt eine Datei, der einfachkeit halber index.php (ist nicht immer so), die mit include die Datei ${id}.php aus dem Unterverzeichnis doc einbaut, also etwa so:
<? include("doc/$id.php"); ?>
index.php?id=seite1 --> doc/seite1.php
In der Seite1.php wird nun aus dem Verzeichnis inc eine zweite Datei included:
<? include("inc/datei.php"); ?>
getcwd() gibt ja den Pfad der index.php aus, also ist ja das Arbeitsverzeichnis auch /_projekte/projektname/, und deshalb sollte es kein Problem sein, über include eine Datei einzubinden.
Eigentlich klappt alles recht gut, bis auf ein include... Mal ein Beispiel:
Ich rufe die Datei index.php?id=seite auf, es wird die Datei doc/seite.php eingebunden, die will inc/datei.php einbinden. Das klappt in allen Verzeichnissen und hat vor der Neuinstallation auch hier geklappt, nur jetzt nicht mehr - beim zweiten Include tritt folgender Fehler auf (alle zwei gelten für das eine Include):
Warning: main(inc\fantasy-name.php): failed to open stream: No such file or directory in C:\apache\htdocs\_projekte\e7o\doc\registrieren.php on line 16
Warning: main(): Failed opening 'inc\datei.php' for inclusion (include_path='.;c:\php4\pear') in C:\apache\htdocs\_projekte\e7o\doc\registrieren.php on line 16
Warum geht das nicht? Woran könnte das liegen? Schon mal vielen Dank im Voraus...
E7