Maison > développement back-end > tutoriel php > PHP utilise ob_flush pour entrer dans l'analyse des fosses

PHP utilise ob_flush pour entrer dans l'analyse des fosses

*文
Libérer: 2023-03-18 15:44:01
original
1372 Les gens l'ont consulté

Cet article présente principalement le principe selon lequel PHP ne peut pas produire chaque seconde lors de l'utilisation de ob_flush. Il analyse également en détail les principes associés de PHP utilisant ob_flush et la méthode d'utilisation de CLI sous Linux. J'espère que cela aide tout le monde.

L'analyse spécifique est la suivante :

Fonction d'implémentation :

Le navigateur génère un nombre chaque seconde.

php.ini est configuré comme :

Version 5.3

implicit_flush = off
output_buffering = off
Copier après la connexion

Autre : Vérifiez si output_buffering est activé, vous pouvez :

var_dump(ini_get('output_buffering'));
Copier après la connexion

D'accord, revenons Regardez ce code :


<?php
  $i = 3;
  ob_start();
  while ($i--) {
    echo $i, "<br />";
    ob_flush();
    flush();
    sleep(1);
  }
  ob_end_clean();
?>
Copier après la connexion


Mais pourquoi : Ce code ne peut pas être émis toutes les secondes ? ?

Analyse des causes :

Principe de fonctionnement d'Apache : lorsque vous accédez à une adresse (envoyez une requête), Apache démarre PHP, puis l'exécution de PHP se fait au niveau de la page, cela c'est-à-dire s'il y a du code exécutable : une fois tout exécuté, il est lancé vers Apache, et Apache est ensuite lancé vers le navigateur pour afficher les résultats

Comment y parvenir ?

Si la cli affiche les résultats d'une manière différente, quelle est la différence ?

linux cmd:
php5 test.php
Copier après la connexion

Il peut être implémenté directement par php sans passer par Apache ou un service web :


<?php
  $i = 3;
  while ($i--) {
    echo $i, "\n";
    sleep(1);
  }
  ob_end_clean();
?>
Copier après la connexion

Recommandations associées :

Introduction au cache ob PHP et explication détaillée de la fonction ob

Une brève analyse et compréhension de PHP ob cache

Explication détaillée de l'utilisation de php ob_start

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal