Mailinglisten-Archive |
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