PHP includiert die falsche Datei

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

PHP includiert die falsche Datei

Postby Matonor » 23. March 2006 14:53

Nachdem mich das Problem die letzten Tage lang ziemlich beschäftigt hat, hab ich schonmal die Ursache gefunden, bei der Lösung könnt ihr mir hoffentlich helfen :)

Also, ich habe für verschiedenen Scripts ne config.php, deren Daten über Nacht plötzlich nicht mehr verfügbar waren, die Variablen waren nurnoch NULL und die Mysql-Verbindungen liefen natürlich ins leere.
Heute hab ich das require_once mal durch ein include ersetzt, was mir folgende Meldung beschert:
Fatal error: Cannot redeclare class config in g:\testserver\xampp\php\pear\Config.php on line 43

Was hier schief läuft sollte klar sein, der Grund ist mir unklar. Wieso holt sich PHP von einem Tag auf den anderen die config.php nicht mehr aus dem Ordner des Scripts sondern aus dem PEAR Ordner?
Ich habe keinerlei Änderungen vorgenommen, das Problem trat wie gesagt über Nacht auf, verschwindet aber leider nicht ebenso.

Mir ist klar, dass ich die config.php einfach umbenennen könnte, aber das ist ja keine wirkliche Lösung und ändert an dem Phänomen auch nichts.
Matonor
 
Posts: 3
Joined: 23. March 2006 14:22
Location: Wunsiedel

Postby Wiedmann » 23. March 2006 15:32

Wieso holt sich PHP von einem Tag auf den anderen die config.php nicht mehr aus dem Ordner des Scripts sondern aus dem PEAR Ordner?

- Wie sieht dein Include() genau aus?
- Was steht in include_path?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Matonor » 23. March 2006 16:08

include $folderlevel."config.php";
$folderlevel wird durch rekursive iteration durch die ordnerebenen unterhalb des atuellen von dem aktuellen an gewonnen, für scripts die in unterordnern liegen. kann ich bei scripts im hauptordner aber weglassen
include path is g:\testserver\xampp\php\pear\
Matonor
 
Posts: 3
Joined: 23. March 2006 14:22
Location: Wunsiedel

Postby Wiedmann » 23. March 2006 17:39

$folderlevel wird durch rekursive iteration durch die ordnerebenen unterhalb des atuellen von dem aktuellen an gewonnen, für scripts die in unterordnern liegen.

Keine Ahnung was du da meinst *g*

Aber mit einem "echo $folderlevel;" findest du ja heraus was da wirklich drin steht und ob das Sinn macht.

kann ich bei scripts im hauptordner aber weglassen

Kann man so nicht sagen, vor allem wenn das wirklich so ist:
include path is g:\testserver\xampp\php\pear\


Normal sollte beim XAMPP das so sein:
Code: Select all
include path => ".;g:\testserver\xampp\php\pear\
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Matonor » 23. March 2006 18:07

es geht tatsächlich, wenn ich ".;" wieder reinsetze. Das hate ich vor Wochen mal entfernt, weil joomla das bei der Installation angekreidet hat. Komisch, dass sich das erst jetzt negativ auswirkt.
Danke Wiedmann :)
Matonor
 
Posts: 3
Joined: 23. March 2006 14:22
Location: Wunsiedel


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 18 guests