ホームページ >バックエンド開発 >PHPチュートリアル >各 `echo` 呼び出しの後に PHP で出力を即時にフラッシュすることを保証するにはどうすればよいですか?

各 `echo` 呼び出しの後に PHP で出力を即時にフラッシュすることを保証するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-24 07:06:17233ブラウズ

How to Ensure Immediate Output Flushing in PHP After Each `echo` Call?

各エコー呼び出し後の出力フラッシュの実現

ロギング目的で 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。