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
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.'<br />'; @ob_flush(); flush(); sleep(1); }
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" />
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!