Mailinglisten-Archive |
Sorry 2x, habe aus versehen zu früh gesendet also die FAQ von XITAMI sagt: 19: Why does my Perl 'flush' command not work under Xitami? This command is a simple "$| = 1;" issued somewhere at the beginning of the script, and is supposed to send (flush) to the browser any and all output (print statements) as they are being issued. Because Xitami does not work with streaming output, for now. It buffers all CGI output until the CGI ends, then sends it to the browser. We're considering alternatives to this model to allow streaming output. Ich denke, was fuer Perl gilt, ist analog bei PHP. Auch andere Server haben so ihre Probleme, wenn man in groups.google recherchiert (z.B. Apache unter Windows... Hier ein Testscript, vielleicht können es ein paar testen und berichten, wi es klappt und wo nicht:: <?php ob_implicit_flush(1); print "1. Abfrage<br>\n"; // 5 Sekunden warten sleep(5); print "2. Abfrage<br>\n"; // 3 Sekunden warten sleep(3); print "Ende"; ?> Was is los? <?php print "1. Abfrage<br>\n"; flush(); // 5 Sekunden warten sleep(5); print "2. Abfrage<br>\n"; flush(); // 3 Sekunden warten sleep(3); print "Ende"; ?> Gruss, Franz -- Franz Alt franz.alt_(at)_pfaffenhofen.de ----- Original Message ----- From: "Franz Alt" <franz.alt_(at)_pfaffenhofen.de> To: <php_(at)_phpcenter.de> Sent: Saturday, October 26, 2002 11:51 PM Subject: Re: [php] Ausgabepufferung - flush() etc... > Also, ich dachte nicht, dass mein Problem so kompliziert ist, eher daran, > dass ich einfach einen dummen Fehler mit "flush()" gemacht habe. > > Um das PHP-Script besser zu verstehen, hier die Ausgabe, die im Browser > erzeugt wird: > > Erstelle HTML-Datei > > tbtolatex hydrogen // Rückgabewert (0=ok): 0 > Dauer: 1.24095404148 s > > latex hydrogen // Rückgabewert (0=ok): 0 > Dauer: 1.61539793015 s > > latex hydrogen // Rückgabewert (0=ok): 0 > Dauer: 1.52026700974 s > > tbtohtml -t hydrogen // Rückgabewert (0=ok): 0 > Dauer: 1.2393989563 s > > Benötigte Zeit um HTML-Datei zu erstellen insgesammt 5.62 Sekunden. > > Ich habe mal in die php.ini geschaut. > > output_buffering = Off > implicit_flush = On > > also sollte sich "flush()" eh erübrigen, oder? > > Also Testserver für mein Programm verwende ich übrigends Xitami in einer > aktuellen Version und PHP, denke in der CGI-Version. > > Nochmal ein Codeausschnitt, wo ich alle bisherigen Hinweise eingebaut habe: > $t1=benchmark(); > exec("tbtolatex $ProjektName",$protokoll,$ret); > $dt=benchmark($t1); > print "tbtolatex $ProjektName"." // Rückgabewert (0=ok): $ret <br>\n"; > print "Dauer: ".$dt." s<br><br>\n"; > flush (); flush (); flush (); > for ($i=1;$i<400;$i++) print " "; > print "\n"; > flush (); flush (); flush (); > ob_end_flush(); > // Protokoll speichern > $bfile = fopen("createHTML.log","w"); > fwrite( $bfile,"--- tbtolatex $ProjektName ---\r\n\r\n" ); > fwrite( $bfile,implode("\r\n",$protokoll) ); > fclose($bfile); > > > Gruss, > Franz > > -- > > Franz Alt > franz.alt_(at)_pfaffenhofen.de > -- > ** http://www.php-center.de ** > Die PHP-Liste: mailto: php_(at)_phpcenter.de > http://lists.phpcenter.de/mailman/listinfo/php
php::bar PHP Wiki - Listenarchive