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