Maison > développement back-end > tutoriel php > Explication détaillée de la méthode de sortie php en temps réel sous IIS7 lorsque le vidage php n'est pas valide

Explication détaillée de la méthode de sortie php en temps réel sous IIS7 lorsque le vidage php n'est pas valide

黄舟
Libérer: 2023-03-07 07:24:01
original
1201 Les gens l'ont consulté

Cet article présente principalement php flush n'est pas valide et la méthode de sortie php en temps réel sous IIS7. Les amis qui en ont besoin peuvent se référer à

dans. une manière plus chronophage Pendant l'opération, si vous souhaitez enregistrer l'opération et l'afficher en temps réel sur le navigateur, vous utilisez flush() pour envoyer le contenu du tampon au navigateur. Mais dans iis7, PHP configuré en mode fastcgi ne peut pas être implémenté et les résultats sont toujours affichés ensemble.

for ($i=10; $i>0; $i--)
{
  echo $i.&#39;<br />&#39;;
  @ob_flush();
  flush();
  sleep(1);
}
Copier après la connexion

Le code ci-dessus ne peut pas afficher progressivement les résultats sous les paramètres par défaut d'IIS. La solution est la suivante :

Ouvrez le fichier C:WindowsSystem32inetsrvconfigapplicationHost.config Notez que si votre système est un système 64 bits, ce fichier doit être ouvert avec un logiciel d'édition 64 bits. Le logiciel 32 bits vous indiquera que le fichier n'existe pas. Ouvrez-le simplement avec le Bloc-notes fourni avec le système. Recherchez le paragraphe suivant et ajoutez le code rouge, c'est-à-dire ajoutez ResponseBufferLimit="0" au gestionnaire php.

Le code est le suivant :

<handlers accessPolicy="Read, Script">
<add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\PHP\php-cgi.exe" resourceType="Either" responseBufferLimit="0" />
Copier après la connexion

Vous pouvez maintenant l'essayer. Si cela ne fonctionne toujours pas, définissez output_buffering = Off dans php.ini.

Le dernier point est très important. Il produira des résultats différents selon les navigateurs. Il ne devrait y avoir aucun problème dans IE. Si vous utilisez Chrome, chaque contenu d'écho doit contenir du HTML, sinon cela ne fonctionnera pas. De plus, si le contenu d'écho est trop court, cet effet ne peut pas être obtenu avant le code. Un espace, tel que : echo str_pad(' ", 1050); Chrome semble devoir d'abord générer plus de 1 000 caractères pour avoir cet effet. Si cela ne fonctionne pas, essayez-en davantage.

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:
php
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