Maison > développement back-end > tutoriel php > Comment obtenir un vidage de sortie en temps réel en PHP pour les journaux en direct ?

Comment obtenir un vidage de sortie en temps réel en PHP pour les journaux en direct ?

DDD
Libérer: 2024-12-22 14:38:11
original
285 Les gens l'ont consulté

How to Achieve Real-Time Output Flushing in PHP for Live Logs?

Vinage de sortie en PHP : affichage des journaux en direct pendant le traitement

En PHP, il est souvent souhaitable d'afficher la sortie sur le navigateur de l'utilisateur en tant que script processus, plutôt que d’attendre que le script soit entièrement terminé. Cela peut être utile pour afficher les journaux ou les mises à jour de progression en temps réel. Cependant, par défaut, PHP tamponne la sortie, ce qui signifie qu'elle n'est envoyée au client qu'à la fin du script.

'ob_flush()' est-il suffisant ?

A L'approche courante pour vider la sortie après chaque appel d'écho consiste à utiliser la fonction ob_flush(). Cependant, cela ne résout que partiellement le problème. Bien qu'il vide le tampon de sortie, il n'envoie pas réellement les données au client.

PHP ou Apache Fault ? Enquêter sur le problème

Si ob_flush() ne fonctionne pas, il peut s'agir d'un problème avec la configuration de PHP ou avec les paramètres d'Apache. Pour vérifier la configuration de PHP, exécutez la commande suivante :

php -i | grep output_buffering
Copier après la connexion

Cela devrait indiquer si la mise en mémoire tampon de sortie est activée et la taille de la mémoire tampon. Si la mise en mémoire tampon de sortie est désactivée, ce n'est pas la cause du problème.

La solution ultime

La solution définitive à ce problème réside dans la définition de la taille du tampon de sortie sur 0. . Cela indique à PHP d'envoyer la sortie au client immédiatement sans la mettre en mémoire tampon.

ini_set('output_buffering', 0);
Copier après la connexion

Final. Réflexions

En définissant la taille du tampon de sortie sur 0, vous pouvez vous assurer que la sortie est vidée après chaque appel d'écho, permettant aux utilisateurs de consulter vos journaux ou vos mises à jour de progression en temps réel.

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!

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