Martin: Anzeigen grosser *.php-Dateien scheitert. WARRRUM?

Hallo allerseits,

ich habe bei mir PHP lokal laufen, funzt auch prima.
Nur mit grossen Dateien (>10.000 Zeichen) habe ich sehr seltsame Probleme.

Als Beispiel diene eine Datei mit folgendem Inhalt:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
...

Angenommen, die Datei ist ca. 40 KB groß.
Mit der Dateiendung *.htm gibt es ueberhaupt keine Probleme, bei *.php allerdings zeigt der IE einen Sekundenbruchteil lang ein paar der Zeilen an aber anschliessend die Fehlerseite "Die Seite kann nicht angezeigt werden".

Wie kann das sein? Ich denke, es liegt an PHP - aber wieso verwirft der IE die schon empfangenen Daten?

Vollkommen ratlos,
Martin

  1. Versuchs mal mit Opera oÄ oder lade sie irgendwo hoch, damit wir es mal mit anderen Browsern testen können. Aber das ist warscheinlich win Fehler des IE. Welche Version nutzt du denn??

    Peter

    1. Guten Morgen :-)

      Versuchs mal mit Opera oÄ oder lade sie irgendwo hoch, damit wir es mal mit anderen Browsern testen können. Aber das ist warscheinlich win Fehler des IE. Welche Version nutzt du denn??

      ==> selber Effekt mit Opera, der zeigt aber das Teilergebnis manchmal (nicht immer) an und erzaehlt mir by the way, dass 40 KB geladen wurden.

      Vermutlich reicht der Wert fuer "max_execution_time" in der php.ini nicht aus. Erhoehe diesen und starte den Webserver neu.

      Nope, daran liegt's nicht, habe ich eh schon auf 90 Sekunden, aber der Abbruch (oder die Fehldarstellung) bekomme ich schon nach 0,5 Sekunden.

      Strange.
      Martin

      1. habe d'ehre

        Vermutlich reicht der Wert fuer "max_execution_time" in der php.ini nicht aus. Erhoehe diesen und starte den Webserver neu.

        Nope, daran liegt's nicht, habe ich eh schon auf 90 Sekunden, aber der Abbruch (oder die Fehldarstellung) bekomme ich schon nach 0,5 Sekunden.

        Tja, ohne irgendwelche Codeschnipsel kann Dir wohl keiner helfen.

        --
        carpe diem
        Wilhelm
        1. Tja, ohne irgendwelche Codeschnipsel kann Dir wohl keiner helfen.

          <?php
          for ($i = 0; $i < 4000; $i++)
          {
           echo "xxxxxxxxxxxxxxxxxxxx<br>";
          }
          echo "Ende";
          ?>

          Es kommt nicht auf die Art der Ausgabe an, bei normaler HTML-Ausgabe ist es derselbe Effekt.

          Martin

          1. habe d'ehre

            <?php
            for ($i = 0; $i < 4000; $i++)
            {
            echo "xxxxxxxxxxxxxxxxxxxx<br>";
            }
            echo "Ende";
            ?>

            Es kommt nicht auf die Art der Ausgabe an, bei normaler HTML-Ausgabe ist es derselbe Effekt.

            Dann ist bei Dir etwas kaputt. Aber offensichtlich bist Du nicht an einer Loesung fuer Dein Problem interessiert. Dein Mickymouse-Code als Beispiel zeigt exakt 4000 Zeilen an (0-3999)

            Auszug aus php.ini
            ;;;;;;;;;;;;;;;;;;;
            ; Resource Limits ;
            ;;;;;;;;;;;;;;;;;;;
            max_execution_time = 30     ; Maximum execution time of each script, in seconds
            max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
            memory_limit = 8M      ; Maximum amount of memory a script may consume (8MB)

            --
            carpe diem
            Wilhelm
            1. for ($i = 0; $i < 4000; $i++)
              {
              echo "xxxxxxxxxxxxxxxxxxxx<br>";
              }
              echo "Ende";

              Aber offensichtlich bist Du nicht an einer Loesung fuer Dein Problem interessiert. Dein Mickymouse-Code als Beispiel zeigt exakt 4000 Zeilen an (0-3999)

              Mein "Mickymouse-Code" reicht hierfür völlig aus und zeigt im uebrigen "exakt" 1 Zeile an. Und der Browser würde - wenn er es denn täte - "exakt" 4001 Zeilen anzeigen. Wie Du auf 4000 gekommen bist, weiß ich nicht.

              Nochmal:

              ES KOMMT NICHT AUF DIE ART DER AUSGABE AN, BEI NORMALER HTML-AUSGABE IST ES DERSELBE EFFEKT.

              Sobald ich die Datei *.php benenne, ohne ueberhaupt auch nur einen Scriptbereich <?php ... ?> drin zu haben, passt es schon nicht mehr. Wie gesagt, nur bei grossen Dateien.

              Martin

              1. Mein "Mickymouse-Code" reicht hierfür völlig aus und zeigt im uebrigen "exakt" 1 Zeile an. Und der Browser würde - wenn er es denn täte - "exakt" 4001 Zeilen anzeigen. Wie Du auf 4000 gekommen bist, weiß ich nicht.

                Mit "ende" sind es 4001, so was nenne ich Korinthenkacker.

                Die Ausgabe ist unter IE6, K-Meleon, Phoenix, Opera6, Opera7, Netscape 4.8 korrekt auch mit $i < 40000

                ES KOMMT NICHT AUF DIE ART DER AUSGABE AN, BEI NORMALER HTML-AUSGABE IST ES DERSELBE EFFEKT.

                Wenn Du meinst, hier schreien zu muessen:

                BEI DEINER KONFIGURATION IST ETWAS KAPUTT

                Entweder in der php oder in Deiner wasuachimmerfuerbrowser-Configdatei.

                Wenn Du das nicht einsehen willst, Deine Sache.

                1. <img src="http://www.pictum.de/self/beginn.gif" border="0" alt="">
                  <img src="http://www.pictum.de/self/ende.gif" border="0" alt="">

                  1. ja, sach mal, Wilhelm, was hast denn da alles gebookmarked ...

                    Grüße aus Berlin

                    Christoph S.

  2. Angenommen, die Datei ist ca. 40 KB groß.
    Mit der Dateiendung *.htm gibt es ueberhaupt keine Probleme, bei *.php allerdings zeigt der IE einen Sekundenbruchteil lang ein paar der Zeilen an aber anschliessend die Fehlerseite "Die Seite kann nicht angezeigt werden".

    Vermutlich reicht der Wert fuer "max_execution_time" in der php.ini nicht aus. Erhoehe diesen und starte den Webserver neu.

    Gruesse
    Wilhelm