Fehler bei include
Klaus
- php
Hallo,
ich bekomme auf einer Domain immer Fehler beim include-Befehl. In die Datei test1.php wird mit
<? include test2.php; ?>
eine Zeile Code eingelesen. test2.php besteht nur aus dem String "Das ist Test2.php".
Dieser Fehler wird ausgegeben:
****************************************
Warning: main(test2php): failed to open stream: No such file or directory in /htdocs/progs/test1.php on line 13
Warning: main(): Failed opening 'test2php' for inclusion (include_path='.:/usr/local/lib/php') in /htdocs/progs/test1.php on line 13
****************************************
Die Dateien test1.php und test2.php liegen selbstverständlich im gleichen Verzeichnis. Safe mode ist auf "on". Es liegt scheinbar an diesem include_path. /usr/local/lib/php ist aber die
Standard-Einstellung. Es kann doch nicht sein, daß bei safe_mode= "on" kein include mehr funktioniert, oder?
Ich habe nämlich einige Domains, bei denen "include" mit safe_mode=on problemlos klappt.
Was kann ich tun? Stehe gerade ziemlich auf dem Schlauch.
Danke
Klaus
hi,
In die Datei test1.php wird mit
<? include test2.php; ?>
eine Zeile Code eingelesen.
Dieser Fehler wird ausgegeben:
Warning: main(test2php): failed to open stream: No such file or directory in /htdocs/progs/test1.php on line 13
Warning: main(): Failed opening 'test2php' for inclusion (include_path='.:/usr/local/lib/php') in /htdocs/progs/test1.php on line 13
In den Warnmeldungen fehlt jeweils der Punkt vor der Dateiendung - test2.php ist nicht gleich test2php.
gruß,
wahsaga
Hi wahsaga!
In den Warnmeldungen fehlt jeweils der Punkt vor der Dateiendung - test2.php ist nicht gleich test2php.
Außerdem erwartet die include-Anweisung, wenn ich mich nicht irre, einen String.
MfG H☼psel
Hallo zusammen,
erstmal danke für die Antworten. Das ist es leider aber nicht. Selbst wenn ich include "test2.php" schreibe, also mit Anführungszeichen, kommt derselbe Fehler, allerdings heißt es dann ..failed opening 'test2.php'...
Es muss irgendwie daran liegen, daß PHP beim Treffen auf die include-Anweisung nicht im selben VZ sucht, ich weiß aber leider nicht, warum das so ist.
Gruss
Klaus
Hi Klaus!
Ein paar Fragen:
Sind die Rechte gesetzt?
Wie genau heißen die Dateien? Beachte vor allem Groß- und Kleinschreibung.
MfG H☼psel
hi,
Es muss irgendwie daran liegen, daß PHP beim Treffen auf die include-Anweisung nicht im selben VZ sucht, ich weiß aber leider nicht, warum das so ist.
Wenn es nicht an den Zugriffsrechten liegen sollte, wie Hopsel vermutet hat:
Ist der include_path korrekt gesetzt? (Überprüfe mittels phpinfo() oder ini_get().)
gruß,
wahsaga
echo $begrüßung;
Es muss irgendwie daran liegen, daß PHP beim Treffen auf die include-Anweisung nicht im selben VZ sucht, ich weiß aber leider nicht, warum das so ist.
Wenn du mit VZ Verzeichnis meinst, dann ist deine Vorstellung von "gleichem Verzeichnis" vielleicht eine andere als die, die PHP hat. PHP geht bei relativ angegebenen Dateinamen immer vom aufgerufenen Script aus und nicht von einem bereits includierten.
Außerdem empfiehlt sich immer noch, beim Entwickeln das error_reporting auf E_ALL zu setzen, denn dann hättest du eine erklärende Notice bekommen, was bei include test2.php schief gelaufen ist.
echo "$verabschiedung $name";
Moin,
<? include test2.php; ?>
ändere das mal so ab: <? include('test2.php'); ?>
Dann klappts auch mit dem include ;-)
regds
Mike©