Heim > Artikel > Backend-Entwicklung > Lösung für die ungültige Verwendung von Flush für die PHP-Echtzeitausgabe unter IIS7
In diesem Artikel wird hauptsächlich die Methode zur PHP-Echtzeitausgabe unter IIS7 vorgestellt. Ich hoffe, es hilft allen.
In einem relativ zeitaufwändigen Vorgang möchte ich den Vorgang aufzeichnen und in Echtzeit im Browser anzeigen. Ich verwende Flush(), um den Inhalt im Puffer an den Browser zu senden. In iis7 kann PHP, das im Fastcgi-Modus konfiguriert ist, jedoch nicht implementiert werden und die Ergebnisse werden immer zusammen angezeigt.
for ($i=10; $i>0; $i--) { echo $i.'<br />'; @ob_flush(); flush(); sleep(1); }
Der obige Code kann die Ergebnisse unter den Standardeinstellungen von IIS nicht schrittweise anzeigen. Die Lösung lautet wie folgt:
Öffnen Sie die Datei C:WindowsSystem32inetsrvconfigapplicationHost.config. Beachten Sie, dass diese Datei mit einer 64-Bit-Bearbeitungssoftware geöffnet werden muss 32-Bit-Software meldet, dass die Datei nicht vorhanden ist. Öffnen Sie sie einfach mit dem mit dem System gelieferten Notepad. Suchen Sie den folgenden Absatz und fügen Sie den roten Code hinzu, dh fügen Sie ResponseBufferLimit = „0“ zum PHP-Handler hinzu.
<handlers accessPolicy="Read, Script"> <add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\PHP\php-cgi.exe" resourceType="Either" responseBufferLimit="0" />
Jetzt können Sie es versuchen. Wenn es immer noch nicht funktioniert, setzen Sie in php.ini „output_buffering = Off“.
Der letzte Punkt ist sehr wichtig. Er führt in verschiedenen Browsern zu unterschiedlichen Ergebnissen. Im IE sollte es kein Problem geben, jeder Echo-Inhalt muss HTML enthalten, sonst funktioniert er nicht. Wenn der Echo-Inhalt zu kurz ist, kann dieser Effekt nicht erreicht werden. Ein Leerzeichen wie: echo str_pad('', 1050); Chrome muss anscheinend zuerst mehr als 1000 Zeichen ausgeben, um diesen Effekt zu erzielen. Wenn es nicht funktioniert, versuchen Sie es mit mehr.
Verwandte Empfehlungen:
php IIS-Protokollanalyse, Suchmaschinen-Crawler-Aufzeichnung, program_php-Instanz
PHP IIS6.0-Konfiguration pseudostatisch ungültig, wie man damit umgeht
Windows Server 2008 PHP IIS kann keine großen Dateien mit uploadify Upload hochladen Lösung
Das obige ist der detaillierte Inhalt vonLösung für die ungültige Verwendung von Flush für die PHP-Echtzeitausgabe unter IIS7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!