Ausgabe-Flushing nach jedem Echo-Aufruf erreichen
Bei der Verwendung von PHP-Skripten für Protokollierungszwecke ist es wichtig sicherzustellen, dass die Ausgabe an den Client übertragen wird sobald es generiert ist. Dies verhindert, dass die Seite während der Skriptverarbeitung leer erscheint.
Fehlgeschlagene Versuche mit ob_start() und ob_flush()
Trotz Versuchen mit ob_start() und ob_flush() Die Ausgabe wird nicht sofort an den Client gesendet. Dies weist auf ein potenzielles PHP- oder Apache-Konfigurationsproblem hin.
Optimale Lösung: Angabe des Zeichensatzes
Um dieses Problem zu beheben, ist es notwendig, bei der Verwendung von ob_flush( ). Hier ist ein Beispiel, das funktioniert hat:
header( 'Content-type: text/html; charset=utf-8' ); echo 'Begin ...<br />'; for( $i = 0 ; $i < 10 ; $i++ ) { echo $i . '<br />'; ob_flush(); flush(); sleep(1); } echo 'End ...<br />';
Durch die Angabe des Zeichensatzes wird die Ausgabe nach jedem Echo-Aufruf erfolgreich an den Client übertragen, wodurch sichergestellt wird, dass die Seite aktualisiert wird, wenn Protokolle generiert werden.
Das obige ist der detaillierte Inhalt vonWie kann sichergestellt werden, dass die Ausgabe in PHP nach jedem „echo'-Aufruf sofort geleert wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!