Heim > Backend-Entwicklung > PHP-Tutorial > PHP verwendet ob_flush, um in die Pit-Analyse einzusteigen

PHP verwendet ob_flush, um in die Pit-Analyse einzusteigen

*文
Freigeben: 2023-03-18 15:44:01
Original
1400 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich das Prinzip vorgestellt, dass PHP bei Verwendung von ob_flush nicht jede Sekunde ausgeben kann. Außerdem werden die zugehörigen Prinzipien von PHP mit ob_flush und die Methode zur Verwendung von CLI unter Linux detailliert analysiert. Ich hoffe, es hilft allen.

Die spezifische Analyse lautet wie folgt:

Implementierungsfunktion:

Der Browser gibt jede Sekunde eine Zahl aus.

php.ini ist konfiguriert als:

Version 5.3

implicit_flush = off
output_buffering = off
Nach dem Login kopieren

Sonstiges: Überprüfen Sie, ob Output_Buffering aktiviert ist. Sie können:

var_dump(ini_get('output_buffering'));
Nach dem Login kopieren

Okay, lass uns zurückkommen. Schauen Sie sich diesen Code an:


<?php
  $i = 3;
  ob_start();
  while ($i--) {
    echo $i, "<br />";
    ob_flush();
    flush();
    sleep(1);
  }
  ob_end_clean();
?>
Nach dem Login kopieren


Aber warum: Dieser Code kann nicht jede Sekunde ausgegeben werden ? ?

Ursachenanalyse:

Apache-Funktionsprinzip: Wenn Sie auf eine Adresse zugreifen (eine Anfrage senden), startet Apache PHP, dann erfolgt die PHP-Ausführung auf Seitenebene ist, wenn Es gibt ausführbaren Code: Nachdem alles ausgeführt wurde, wird er an Apache geworfen, und Apache wird dann an den Browser geworfen, um die Ergebnisse anzuzeigen

Wie erreicht man das?

Was ist der Unterschied, wenn die CLI die Ergebnisse anders anzeigt?

linux cmd:
php5 test.php
Nach dem Login kopieren

Es kann direkt per PHP implementiert werden, ohne über Apache oder Webservice zu gehen:


<?php
  $i = 3;
  while ($i--) {
    echo $i, "\n";
    sleep(1);
  }
  ob_end_clean();
?>
Nach dem Login kopieren

Verwandte Empfehlungen:

Einführung in den PHP-OB-Cache und detaillierte Erklärung der Ob-Funktion

Eine kurze Analyse und ein Verständnis von PHP-OB Cache

Ausführliche Erklärung der Verwendung von PHP ob_start

Das obige ist der detaillierte Inhalt vonPHP verwendet ob_flush, um in die Pit-Analyse einzusteigen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage