phpbar.de logo

Mailinglisten-Archive

[php] ungepufferte Ausgabe?

[php] ungepufferte Ausgabe?

Ralf Geschke ralf_(at)_kuerbis.org
Mon, 15 Mar 1999 00:40:26 +0100


Hallo !

Ich schreibe gerade ein Tool, welches HTML-Seiten aus Vorlagen
(Templates als HTML-File) sowie Datenbank-Inhalten erzeugt. 
Hintergrund:
Die Administration geschieht mittels eines PHP-Skripts, doch da es
nicht noetig ist, bei jedem Seitenaufruf die Inhalte dynamisch zu
generieren, gibt es eine Funktion "publish", welche die Inhalte in
HTML-Dateien schreibt.  

Dabei ist mir aufgefallen, dass zum einen das Generieren recht lange
dauert, fuer Ideen zwecks Geschwindigkeitssteigerung waere ich
dankbar. Die Funktion macht nichts anderes als eine Datei zu oeffnen,
den Inhalt von einigen Templates, welche ebenfalls in Dateien
vorliegen, dort hinein zu kopieren und mit einigen Inhalten aus einer
Datenbank zu ergaenzen. Ich benutze fopen / fwrite / fclose - die
zwecks Test erzeugte Datei ist keine 5 KB lang, die Erzeugung dauert
dennoch hier (Linux, Apache 1.3.4, PHP 3.0.6 als Apache-Modul, P200,
128 MB RAM, IBM EIDE-Platten) etwa 10 Sekunden.  

Allein das waere gar nicht tragisch, doch wuerde ich in dieser Zeit
dem Benutzer gerne mitteilen, dass das Skript noch laeuft. 

Laesst sich PHP dazu ueberreden, die Ausgabe nicht zu puffern? 
Z.B. erscheinen alle Ausgaben der print-Befehle in der jeweiligen
Funktion erst nach Ausfuehrung derselben im Browser. 

Liege ich mit meiner Vermutung, dass PHP die Ausgabe puffert,
ueberhaupt richtig? Am Apache liegt es jedenfalls nicht,
Perl-CGI-Skripte mit $| = 1; behandelt bringen die Ausgaben direkt in
den Browser. 

Fuer Tips und Hinweise... ;-)

Viele Gruesse,
   Ralf
-- 
/ ralf_(at)_kuerbis.org           ->  http://www.kuerbis.org
/ ralf_(at)_infosoc.uni-koeln.de  ->  http://infosoc.uni-koeln.de/~geschke/


php::bar PHP Wiki   -   Listenarchive