Chris: Apache, Php, Documenttyp

Hallo Durchblicker,

ich kasper damit nun zu lange rum! Muss Euch endlich mal fragen:

Wer sorgt dafür, dass bei eine total leeren (PHP-)Seite (also Datei vorhanden, ist aber nix drin, keine Ausgabe) der Dokumenttyp ausgegebn wird:

---------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
<BODY></BODY></HTML>
---------------------------------------------------

Macht das der Apache oder macht das der PHP-Parser?

Wie kann ich dafür sorgen, dass das Gerüst immer eingestanzt wird, wenn es fehlt? Wo werden die Daten eingestellt?

CU

Chris

  1. Hallo,

    Weder Apache noch PHP liefern "inhaltlich" etwas aus,
    das Du ihnen nicht ausdruecklich befohlen hast.

    Das einzige, was sie automatisch ausliefern, sind gewisse HTTP-Header.
    Welche, verraet Dir z.B. http://cgi.w3.org/cgi-bin/headers
    Diese werden aber vom Browser nicht angezeigt.
    Beispiele:
    Content-Type: text/html; charset=iso-8859-1
    Date: Tue, 28 Oct 2003 09:52:35 GMT
    X-Powered-By: PHP/4.3.0

    Wie kann ich dafür sorgen, dass das Gerüst immer eingestanzt wird, wenn es fehlt?

    Schreibe Deine PHP-Seiten anstaendig.
    _Du_ bist dafuer verantwortlich, was PHP ausgibt.

    Gruesse,

    Thomas

    1. Hallo Thomas,

      und woher kommt dann immer die Ausgabe des abgebildeten Gerüsts, wenn ich doch gar nix ausgeben lasse?

      Das habe ich bisher bei alle Apache-Servern so gahbt. Und der aktuelle ist bestimmt schon der achte.

      CU
      Chris

      1. Hallo,

        und woher kommt dann immer die Ausgabe des abgebildeten Gerüsts, wenn ich doch gar nix ausgeben lasse?
        Das habe ich bisher bei alle Apache-Servern so gahbt. Und der aktuelle ist bestimmt schon der achte.

        Was rufst Du fuer eine Ressource auf?
        Gibt es diese Ressource? Wenn ja, was ist sie? Ein PHP-Skript?

        Haste mal 'ne URL?

        Gruesse,

        Thomas

        1. Hallo Thomas,

          Haste mal 'ne URL?

          www.php-berater.de

          Grüße

          Chris

          1. Hi,

            Haste mal 'ne URL?

            www.php-berater.de

            hab mich geirrt. http://www.php-beratung.de

            Hab den Auftrag, da ein CMS zu machen, und nur zufällig über das Kuriosum gestoloert. Nun wollte ich nicht sooo dumm aussehen, wenn ich zum Termin gehe.

            Chris

            1. Hallo,

              http://www.php-beratung.de
              Hab den Auftrag, da ein CMS zu machen, und nur zufällig über das Kuriosum gestoloert. Nun wollte ich nicht sooo dumm aussehen, wenn ich zum Termin gehe.

              Ich vermute mal, die haben im Document Root eine index.php mit folgendem Inhalt:
              <?php
              echo "<html><body></body></html>";
              ?>

              Irgend etwas muss doch im Document Root Verzeichnis sein.
              Wenn dort nichts waere, saehe die Ausgabe wohl eher so aus:
              http://www.ibiblio.org/pub/tmp/

              Gruesse,

              Thomas

              1. Hallo Thomas,

                Ich vermute mal, die haben im Document Root eine index.php mit folgendem Inhalt:
                <?php
                echo "<html><body></body></html>";
                ?>

                Nee, die habe da nur stehen

                ----------------------
                <?php  #### php-beratung.de #### Startseite ####

                @include(impressum.html);

                ?>
                ----------------------

                Hab ich nämlich nach Vorgabe da selber hintransferiert und war baff erstaunt, dass plötzlich ne Ausgabe kam. Und impressum.html gibts für die Firma noch gar nicht. Die krieg ich erst. Muss auch impressum.txt heißen dann, ist aber egal für dieses Problem.

                Ich denke, Andreas hat's ergründet. Liegt am Browser. Wenn der ein leeres Dokument bekommt, generiert er selber eins.

                LG

                Chris

                1. Hallo,

                  Ich denke, Andreas hat's ergründet. Liegt am Browser. Wenn der ein leeres Dokument bekommt, generiert er selber eins.

                  Das war auch meine erste Idee.

                  Das <html><body></body></html> zeigte mir der Browser Mozilla an.
                  Und ich dachte, bei dem koenne man sich auf die Quelltext-Anzeige
                  verlassen, anders als bei seinem Grossvater (Netscape 4).
                  Ich dachte offenbar falsch...

                  Frueher habe ich sowas immer mit dem Mozilla Web Sniffer geprueft.
                  http://webtools.mozilla.org/web-sniffer/ - ist leider schon laenger ausser Betrieb.
                  Der zeigte sowohl den HTTP-Header als auch den Inhalt des
                  Dokuments Byte fuer Byte an und war sehr hilfreich bei derartigen
                  raetselhaften Fehlern.
                  Vielleicht kenn ja jemand einen guten Ersatz?

                  Gruesse,

                  Thomas

            2. Hi,

              hab mich geirrt. http://www.php-beratung.de

              Mein Perl-Scriptchen sagt:

              ---------- BEGIN OF HTTP REQUEST ---------------------------------------------------
              URL to GET:       http://www.php-beratung.de
              HTTP Result code: 200
              ---------- BEGIN OF HTTP HEADER ----------------------------------------------------
              Connection: close
              Date: Tue, 28 Oct 2003 11:11:26 GMT
              Accept-Ranges: bytes
              Server: Apache/2.0.40 (Red Hat Linux)
              Content-Length: 0
              Content-Type: text/html; charset=ISO-8859-1
              Client-Date: Tue, 28 Oct 2003 11:18:54 GMT
              Client-Peer: 80.190.104.2:80
              Client-Response-Num: 1
              X-Powered-By: PHP/4.2.2
              ---------- END OF HTTP HEADER ------------------------------------------------------
              ---------- BEGIN OF HTTP BODY ------------------------------------------------------
              ---------- END OF HTTP BODY   ------------------------------------------------------
              ---------- END OF HTTP REQUEST -----------------------------------------------------

              Es kommt also kein body.
              Was Du also siehst, ist vermutlich vom Browser (IE?) generiert.

              Mozilla zeigt beim view-source auf obiger Adresse
              <html><body></body></html>

              cu,
              Andreas

              --
              Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
              http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
              1. Hallo Andreas,

                Es kommt also kein body.
                Was Du also siehst, ist vermutlich vom Browser (IE?) generiert.

                Mozilla zeigt beim view-source auf obiger Adresse
                <html><body></body></html>

                Danke für die Mühe. Ich wüßte leider nicht, wie ich das testen konnte. Das mit dem IE hatte ich auch schon vermutet. Jetzt weiß ich also, dass der Apache das nicht schickt und PHP auch nicht und ich das in das CMS mit reinbauen kann, ohne das Rad neu zu erfinden.

                Genauso wie die mir vorgeschrieben haben, dass in Jeder Seite gleich nach dem Dokumenttyp das Impressum zu stehen hat. Wird einfach included. Find ich eine gute Idee. Wenn dann einer behauptet, da wäre keins, irrt er gewaltig. Rechte Maustaste, Quelltext anzeigen, und schon steht da das Impressum. Leicht zugänglich, wie es das Gesetzt vorschreibt.

                Danke nochmal

                cu

                Chris