Heim  >  Artikel  >  Backend-Entwicklung  >  Vertiefendes Verständnis des Unterschieds zwischen ob_flush und Flush in PHP

Vertiefendes Verständnis des Unterschieds zwischen ob_flush und Flush in PHP

黄舟
黄舟Original
2017-08-10 11:20:591485Durchsuche


Die Beschreibung von ob_flush/flush im Handbuch lautet, dass es den Ausgabepuffer aktualisiert und zusammen verwendet werden muss, was viele Leute verwirrt...

Tatsächlich sind die beiden Operationsobjekte unterschiedlich.

ob_*-Funktionsreihe betreibt also den Ausgabepuffer von PHP selbst Sein eigener Puffer.

Und Flush hat genau genommen nur dann einen tatsächlichen Effekt, wenn PHP als Apache-Modul (Handler oder Filter) installiert ist. Es aktualisiert den WebServer-Puffer (kann speziell als Apache betrachtet werden). 🎜>

Unter

von

wird

aktualisiert, indem der apache module-Memberfunktionszeiger von sapi aufgerufen wird, wodurch indirekt die Ausgabe von flush von sapi_module flush aufgerufen wird buffer, im Handbuch heißt es natürlich auch, dass es einige andere Module von Apache gibt, die das Ergebnis dieser Aktion ändern können.apacheapi: ap_rflushapacheDie richtige Reihenfolge für die Verwendung der beiden ist also: dann Flush,

有些Apache的模块,比如mod_gzip,可能自己进行输出缓存,
这将导致flush()函数产生的结果不会立即被发送到客户端浏览器。 

甚至浏览器也会在显示之前,缓存接收到的内容。例如 Netscape
浏览器会在接受到换行或 html 标记的开头之前缓存内容,并且在
接受到 </table> 标记之前,不会显示出整个表格。 

一些版本的 Microsoft Internet Explorer 只有当接受到的256个
字节以后才开始显示该页面,所以必须发送一些额外的空格来让这
些浏览器显示页面内容。
Natürlich können Sie Flush unter anderen Sapi nicht aufrufen, aber um die Portabilität Ihres Codes sicherzustellen, wird empfohlen, ihn zusammen zu verwenden.

Das obige ist der detaillierte Inhalt vonVertiefendes Verständnis des Unterschieds zwischen ob_flush und Flush in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn