各エコー呼び出し後の出力フラッシュの実現
ロギング目的で PHP スクリプトを利用する場合、出力がクライアントに確実に送信されるようにすることが重要です生成されたらすぐに。これにより、スクリプト処理中にページが空白で表示されるのを防ぎます。
ob_start() および ob_flush() の試行が失敗しました
ob_start() および ob_flush() を試行したにもかかわらず、出力はクライアントにすぐには送信されません。これは、PHP または Apache の構成に潜在的な問題があることを示しています。
最適な解決策: 文字セットの指定
この問題を解決するには、ob_flush( を使用するときに文字セットを指定する必要があります。 )。うまくいった例を次に示します。
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 />';
文字セットを指定すると、各エコー呼び出し後に出力がクライアントに正常に送信され、ログが生成されるとページが確実に更新されます。
以上が各 `echo` 呼び出しの後に PHP で出力を即時にフラッシュすることを保証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。