Klaus: Fehler bei include

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

  1. 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

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. 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

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
      1. 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

        1. Hi Klaus!

          Ein paar Fragen:
          Sind die Rechte gesetzt?
          Wie genau heißen die Dateien? Beachte vor allem Groß- und Kleinschreibung.

          MfG H☼psel

          --
          "It's amazing I won. I was running against peace, prosperity, and incumbency."
          George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
          Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
        2. 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

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
        3. 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";

  2. Moin,

    <? include test2.php; ?>

    ändere das mal so ab: <? include('test2.php'); ?>

    Dann klappts auch mit dem include ;-)

    regds
    Mike©

    --
    Freunde kommen und gehen. Feinde sammeln sich an.