muenzchen: Kann der PHP Interpreter ausfallen?

Hallo!

Kann es eigentlich passieren, dass der PHP Interpreter ausfällt?
Dann würden die Seiten dem Browser ja als Download angeboten werden, oder?

MfG, muenzchen

  1. Hi

    Kann es eigentlich passieren, dass der PHP Interpreter ausfällt?

    Ja.

    Dann würden die Seiten dem Browser ja als Download angeboten werden, oder?

    Jain. Wenn PHP als Modul des Apachen läuft würde wohl entweder _garnix_ mehr ankommen, oder ziemlicher Müll.

    Fabian

    1. Hallöchen,

      Jain. Wenn PHP als Modul des Apachen läuft würde wohl entweder _garnix_ mehr ankommen, oder ziemlicher Müll.

      Was ich bestätigen kann. Der Quellcode der Seite taucht dann z.B. als Inhalt der Variablen auf, die durchaus noch ausgegeben werden.

      Provozieren kann man solch einen Ausfall ganz leicht, indem man ein geschachteltes include() mit Konstantendefinitionen macht. Das fängt man inzwischen üblicherweise mit include_once() ab, damit es nicht aus Versehen passiert.

      Hier also mal der absichtliche Fahrplan dafür:

      <?php #### datei1.inc.php ####

      define("KONSTANTE1","wir machen dummes Zeug");
      define("KONSTANTE2","das sollten wir lieber lassen");
      ?>

      <?php #### datei2.inc.php ####

      include ("datei1.inc.php");

      function ausgabe($var1,$var2)
      {
        return $var1."; ".$var2."!";
      }
      ?>

      <?php #### start.php ####

      include ("datei1.inc.php");
      include ("datei2.inc.php");

      echo ausgabe(KONSTANTE1,KONSTANTE2);

      ?>

      Habs jetzt nicht ausprobiert, ob das auch zum Garaus führt. Aber so war der Aufbau, der es bei mir "gebracht" hat.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
      1. Hi Tom,

        Jain. Wenn PHP als Modul des Apachen läuft würde wohl entweder _garnix_ mehr ankommen, oder ziemlicher Müll.
        Was ich bestätigen kann. Der Quellcode der Seite taucht dann z.B. als Inhalt der Variablen auf, die durchaus noch ausgegeben werden.
        Provozieren kann man solch einen Ausfall ganz leicht, indem man ein geschachteltes include() mit Konstantendefinitionen macht. Das fängt man inzwischen üblicherweise mit include_once() ab, damit es nicht aus Versehen passiert.

        Hier also mal der absichtliche Fahrplan dafür:
        [...]

        Nein, geht bei mir nicht (mehr) (Sowohl 4.2.3 als auch 4.3.0 weigern sich, Müll auszugeben), ist wohl mittlerweile beseitigt, es kommt einfach nur die Meldung "Cannot redeclare defined Constant $muellmacher". Noch ein Grund zum Update ;-)
        (Was nicht heißt, dass man deswegen wieder zu doppelten Deklarationen zurückkommen sollte *g*)

        Fabian

        1. Hi,

          danke für den Test.

          Ich bin froh, wenn ich die Zicken EINER Version einigermaßen auswendig kenne und hoffe, dass die neue dann wirklich etwas anschmiegsamer ist.

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.