phpbar.de logo

Mailinglisten-Archive

[php] Ausgabepufferung - flush() etc...

[php] Ausgabepufferung - flush() etc...

Franz Alt php_(at)_phpcenter.de
Sun, 27 Oct 2002 00:23:51 +0200


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