Problem mit chdir()

Bitfire

Grünschnabel
Hi!

Ich hab ein problem mit dem PHP Befehl chdir().
Das folgende test script funktioniert online auf meinem Webspace perfekt (subfile.php in subdir) :
PHP:
$dirchange = chdir("subdir");
include("subfile.php");
Wenn ich das ganze nun offline teste, kommt nur ein "Warning: Failed opening 'subfile.php' for inclusion (include_path='..') in d:\sfc\phptest\index.php on line 12".

Eine Abfrage der Variable "$dirchange" ergibt sowohl online als auch offline "1", der Verzeichnisswechsel wird also in jedem Fall durchgeführt.

Ich versteh nur nicht, wieso auf meinem lokalen Server die Datei "subfile.php" nicht gefunden wird. Woran kann das liegen? Ich bin völlig ratlos. Würde mich freuen wenn mir da jemand helfen könnte.

Gruß,
Bitfire
 
Ich glaube gestern hatte hier jemand das gleiche Problem.

Leute, hört mehr auf Eure Fehlermeldungen, auch wenn Sie Japanisch oder Spanisch oder Russisch zu sein scheinen :-)

include_path='..'

Irgendwas stimmt nicht in der PHP.INI wie es scheint.
such darin nach dem include_path - Eintrag.

Dort kann man einen Include Pfad angeben, der automatisch berücksichtigt wird. Üblicherweise gibt man dort einen relativen oder absoluten pfad an.

Bsp.:
/php/includes -> relativ
oder
d:/apache/php/includes -> absolut

Genaueres kannst Du bei php.net in der Dokumentation finden.

Greetz,
Neuro
 
Ich hab das mal ausprobiert und die php.ini um folgenden Eintrag erweitert:
PHP:
include_path = ".;d:\\sfc\\phptest\\subdir"
Leider geht es immer noch nicht.

Müsste die Datei nicht auch so gefunden werden?
Es wurde ja mit chdir() ein Wechsel in das Verzeichnis durchgeführt, in dem sich die Datei befindet.

Außerdem geht es ja auf meinem Webspace und da hab ich keinen Zugriff auf die php.ini, ich kann dort also auch keinen include_path angeben. Woran kann das bloß noch liegen?

Jetzt bin ich irgendwie noch ratloser als vorher :(

Edit:
Jetzt wird die Datei subfile.php gefunden. Es lag daran das die php.ini im falschen Verzeichniss war. Ich kann mir weder erklären wie die da hin gekommen ist, noch wie php so funktionieren konnte :-)

Ich hab mittlerweile leider ein neus problem:

Die eingefügte Datei subfile.php soll nochmals per "include()" eine Datei subfile2.php einfügen, die sich im gleichen Verzeichniss wie subfile.php befindet. Diese wird jedoch nicht gefunden, obwohl doch das Verzeichniss gewechselt wurde. Auf meinem Webspace funktioniert das übrigens auch wunderbar, es muss also noch irgendwas falsch konfiguriert sein. Ich weiß nur leider nicht was....

edit2:
Ich hab mir mal die neueste PHP version runtergeladen und jetzt funktionierts auch lokal wie es soll, auch ohne angabe eines include_path. Sowas nenn ich Fortschritt ;)
 
Zuletzt bearbeitet:
LOL :) Das freut mich.

Falls mal wieder etwas ist:

Mit einer php-Datei kannst Du Dir mal anzeigen lassen was beim Webspace so eingestellt ist, vielleicht kennst Du das schon?

PHP:
<?php

phpinfo();

?>

Auf den Webspace kopieren, aufrufen und anschauen was so alles eingestellt ist ;)
 
Zurück