Flush() auf Suse 8.1 funktioniert nicht.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Flush() auf Suse 8.1 funktioniert nicht.

    Hi,
    bei mir will Flush() nicht richtig funktionieren.
    hab nen 1und1 rootserver mit suse 8.1, also nicht windows auf dem es ja nicht läuft.

    Hat da schon wer erfahrungen mit gemacht und ne lösung parat?
    Gruss nik

  • #2
    Re: Flush() auf Suse 8.1 funktioniert nicht.

    Original geschrieben von niknormal
    bei mir will Flush() nicht richtig funktionieren.
    was heisst das? was hast du vor?

    ich nehme mal an, dass du keinen fehler bekommst.
    ins handbuch hast du auch schon geschaut?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Ich hab vor das in einer schleife der jeweils generierte output am ende jedes schleifendurchlaufes an den browser gesendet wird. Und das soll ja mit Flush() funktionieren.

      Geht bei mir aber nicht. Der sendet den inhalt erst am scriptende.
      Jetzt hab ich zwar gelesen das Flush auf WIndowssystemen nicht funktionieren soll, aber ich hab ja eh nen linux server.

      Wenn du das Suse Linux handbuch meinst, das habe ich nicht. Suse Linux war ja schon auf dem Server drauf.

      Gruss nik

      Kommentar


      • #4
        ich meinte das handbuch von php. das manual. http://www.php.net/manual/de/
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          flush sollte eigentlich laufen. vielleicht ist deine schleife einfach zu klein.

          Denn selbst, wenn du flush nicht benutzt, wird die seite in teilen gesendet.,

          Kommentar


          • #6
            also das PHP handbuch hab ich gelesen. da steht halt der hinweis mit Windows systemen.

            @ TopiZ Was meinste denn mit zu kleiner Schleife? in jedem schleifendurchlauf macht er einen DB aufruf und wertet diesen aus. Reicht das nicht?

            Kommentar


            • #7
              weiß nicht, wie oft läuft n der durch. mach mal 1000 mal. und warum muss der jedesmal nen dbaufruf machen? das ist nicht gerade effektiv, oder?

              Kommentar


              • #8
                Re: Flush() auf Suse 8.1 funktioniert nicht.

                Original geschrieben von niknormal
                bei mir will Flush() nicht richtig funktionieren.
                egal bei welchem browser?

                ich glaub beim IE isses so, dass der ne art internen puffer hat und erst wenn der voll is wird auf den bildschirm gepinselt. wenn's dadran liegen sollte, musst du halt ein paar dummydaten schicken (am besten so, dass die keiner sieht )
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  es geht mir ja nicht um die effektivität. Das is schon bissi defftig wenn man jede runde nen dbaufruf macht. aber bei nem einfachen billigchat der über die DB läuft müsste man das doch so machen, oder?

                  kann ich irgendwoher erfahren wie gross dieser speicher ist? also wieviele daten ich schicken muss?

                  gruss nik

                  Kommentar


                  • #10
                    DEFINITIV NICHT!!!

                    mach doch erstmal:

                    PHP-Code:
                    <?

                    for($i=1;$i>1000;$i++) {
                      echo $i.") Hallo!<br>";
                      flush();
                      sleep(1);
                    }

                    ?>

                    Kommentar


                    • #11
                      laut user contributed notes im manual sollten ca. 300 leerzeichen ausreichen
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        PHP-Code:
                        for($i=1;$i<=1000;$i++) { 
                        wäre sinnvoller
                        Aber ja es funktioniert. aber er gibt das in 3-4 grossen blöcken aus. das heisst wenn ich einen sleep von 1 sekunde hab ist das für nen chat scheisse. da wartet man dann 300 sek bis der erste block kommt! ok.. je nachdem was die user schreiben.

                        Also würde das gehen wenn ich 300 leerzeichen vor jedem eintrag schicke? der ie macht doch sowie jedes leerzeichen was mehr als eins ist weg.

                        kann man den puffer im ie ausschalten? so testweise?

                        Kommentar


                        • #13
                          wenn du den dekompilierst: ja

                          wenn du das nich machst: probier das doch mal aus! laut den beiträgen bei php.net soll es ja gehen. geht ja bloß um die anzahl zeichen die du schickst, nich um das was der browser macht

                          wenn's wider erwarten nicht geht, mach halt ein
                          PHP-Code:
                          echo '<div style="visibility:hidden;position:absolute;top:0px;left:0px;height:0px;width:0px;">
                          ganz ganz ganz viel text
                          </div>'


                          musst das aber auch in der schleife machen
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar

                          Lädt...
                          X