Problem
Als ich die PHP-Ausgabe zeilenweise debuggte, stellte ich fest, dass sowohl ob_flush als auch Flush fehlschlugen. Mithilfe von phpinfo kann ich grundsätzlich beurteilen, dass die Einstellungen von php.ini normal sind.
(Lernvideo-Sharing: php-Video-Tutorial)
Lösung
Schauen Sie sich Nginx noch einmal an und stellen Sie fest, dass es in Nginx die folgenden Einstellungen gibt:
fastcgi_buffer_size 128k; fastcgi_buffers 8 128k;
Das Problem wurde grundsätzlich gefunden. Nginx puffert die von PHP ausgegebenen Informationen . Die Pufferdaten werden erst an den Client gesendet, wenn sie 128 KB erreichen. Dann müssen wir zuerst die Puffergröße reduzieren, z. B.: Geben Sie einen Inhalt mit bis zu 4 KB aus, zum Beispiel:
fastcgi_buffer_size 4k; fastcgi_buffers 8 4k;
An diesem Punkt kann PHP den erforderlichen Inhalt normalerweise Zeile für Zeile über ob_flush und Flush ausgeben.
Verwandte Empfehlungen:
Nginx-TutorialDas obige ist der detaillierte Inhalt vonSo lösen Sie das Problem des PHP-Flush-Fehlers unter Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!