phpbar.de logo

Mailinglisten-Archive

[php] include

[php] include

Lutz Zetzsche php-liste at vonnies.de
Mit Feb 4 14:02:08 CET 2004


Hi Michael,

Zitat von Oliver Michalak:

> > "dem globalen include Pfad"
>
> in der php.ini ist der include-pfad auf /var/www/site gesetzt, dann:

ok. :-)


> in /de/search.php steht:
> include ('ordner/script.php');
>
> in /at/search.php steht:
> include ('ordner/script.php');
>
> Ersteres geht, zweites nicht.
>
> Bei einem anderen Projekt hat ein Freund ebenfalls Probleme mit dem
> include.

Auch wenn beides scheinbar gleich aussieht, so muss es nicht gleich sein. :-) Es
kann also trotzdem sein, dass die Datei, die Du in /de/search.php einbinden
willst, existiert und die, die Du in /at/search.php einbinden willst, nicht,
obwohl beides gleich zu sein scheint.

Versucht Du denn beide Male absolut dieselbe Datei einzubinden, oder gibt es
vielleicht doch einen Unterschied (Sprachvariante...)?

Setze doch mal error_reporting(E_ALL) ans Anfang beider Seiten und gucke, ob
bzw. welche Fehlermeldung PHP auf der Seite /at/search.php ausgibt. Irgendwo
wird vielleicht bzw. vermutlich der Pfad zu der include-Datei falsch
zusammengebastelt. Es fehlt ein Slash, z.B. zwischen dem globalen und dem
lokalen Pfadanteil, oder sonst irgendetwas laeuft schief. In der Fehlermeldung
kann Du dann sehen, warum er die Datei nicht einbinden kann.

Ansonsten hatte ich spontan noch daran gedacht, dass es irgendwas mit "Safe
Mode"-Einstellungen zu tun haben koennte, aber das wird Dir die Fehlermeldung
dann sagen. Naeheres zu "Safe Mode" findest Du hier:

http://de3.php.net/manual/de/features.safe-mode.php


> > Dann waere noch interessant, ob ihr error_reporting(E_ALL) eingestellt
> > hat, um
> > Fehlermeldungen zu sehen.
> Wäre nochmal ein Ansatz, damit arbeite ich aber nie, bin ein alter
> C-Hase, der mit printf/echo bisher alles erschlagen konnte :)

Dann aber mal schnell die Fehler mitausgeben lassen... :-D


> > Und zu guter Letzt: Wie sieht der Code rund um die include()-Passagen
> > in den
> > beiden Skripten aus, von denen eines funktioniert und das andere nicht.
>
> Unkritisch: Abfragen auf einfache Formularvariablen, dann der include.
> Dürfte vor allem deswegen unproblematisch sein, da es in beiden
> Sprachversionen/Scripten (de / at) 100% identisch ist...

Das glaubt man immer. Aber irgendwo muss der Fehler liegen. :-) Ich glaube
nicht, dass es an PHP liegt. Probleme mit include() lagen bei mir am Ende immer
in meinen eigenen Fehlern begruendet.

Manchmal liegt es auch an so bloeden Sachen wie: Einmal wird die Seite ueber
http://www.domain.com/de/ aufgerufen und einmal unter http://www.domain.de/ und
dann enthaelt das DOCUMENT_ROOT einmal noch das "de/" zusaetzlich und einmal
nicht... Also es gibt eine Menge Moeglichkeiten, wo man sich das verbastelt
haben koennte. Es kann auch an Server-Variablen liegen, die unter bestimmten
Umstaenden anders als erwartet gefuellt sind.


Viele Gruesse

Lutz

php::bar PHP Wiki   -   Listenarchive