Heim > Backend-Entwicklung > PHP-Tutorial > Lösung für die ungültige Verwendung von Flush für die PHP-Echtzeitausgabe unter IIS7

Lösung für die ungültige Verwendung von Flush für die PHP-Echtzeitausgabe unter IIS7

*文
Freigeben: 2023-03-18 20:28:01
Original
1822 Leute haben es durchsucht

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.&#39;<br />&#39;;
  @ob_flush();
  flush();
  sleep(1);
}
Nach dem Login kopieren

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" />
Nach dem Login kopieren

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!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage