Maison > Article > développement back-end > Solution à l'utilisation non valide de Flush pour la sortie PHP en temps réel sous IIS7
Cet article présente principalement la méthode de vidage php invalide et la sortie php en temps réel sous IIS7. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.
Dans une opération relativement longue, je souhaite enregistrer l'opération et l'afficher en temps réel sur le navigateur. J'utilise 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.
<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.
Recommandations associées :
analyse des journaux php IIS enregistrement du robot du moteur de recherche program_php instance
Configuration PHP IIS6.0 pseudo-statique invalide, comment y faire face
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!