[解決済み] PHP バッファ ob_flush() vs. flush()
質問
とはどう違うのでしょうか?
ob_flush()
と
flush()
の両方を呼び出さなければならないのはなぜですか?
は
ob_flush()
参照
は言う。
この関数は、出力バッファの内容を送信します(もしあれば)。
は
flush()
参照
は言う。
PHP と PHP が使用しているバックエンド (CGI, Web サーバーなど) の書き込みバッファをフラッシュします。
しかし、続けてこう書いてあります。
[ウェブサーバのバッファリングスキームを上書きすることはできないかもしれません。
ということは、単に
ob_flush()
を使えばいいようです。しかし、そうすると、おかしな結果になります。 どなたかわかりやすく説明していただけませんか?
どのように解決するのですか?
ob_flush
は、アプリケーション起動のバッファを送信します。複数のネストした
ob_start()
は、PHP スクリプトの中で複数回入れ子にすることができます。
ob_flush
は、現在のコンテンツを上位レイヤーに渡します。
PHP 自身が (自らの判断で) 出力をバッファリングすることがあります。これはバックエンドに依存します。しかし、通常は
FastCGI
はそれ自体でソケットバッファを持っています。したがって
flush()
を起動し、現在のコンテンツをウェブサーバに送信する必要があります。
そして今、ウェブサーバはそれ自身が別のバッファリングスキーム (
mod_deflate
やコンテンツフィルタ) を実装している場合がありますが、これには何の影響力もありません。しかし、これは特別に設定される必要があるため、めったにありません。
とにかく、両方使ってください。
関連
-
[解決済み] [Solved] Fatal error: メンバ関数prepare()のNULLでの呼び出し
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] print関数の出力をフラッシュする(pythonの出力をバッファリング解除する)にはどうすればよいですか?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】XAMPPポート80をPID 4の「Unable to open process」が使用中 [重複] XAMPPポート80をPID 4の「Unable to open process」が使用中。]
-
[解決済み】move_uploaded_fileは、「failed to open stream: Permission denied" というエラーが出る
-
[解決済み】php, mysql - データベースへの接続数が多すぎるエラー
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: パラメータが定義されていません
-
[解決済み】Laravel 5.2 Storage::makeDirectory($dir) でディレクトリが作成されない。
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
[解決済み] PHP - ストリームを開くのに失敗しました : そのようなファイルまたはディレクトリがありません。
-
[解決済み】書き込みコンテキストでメソッドの戻り値を使用することができない
-
[解決済み] Uncaught Error: 未定義の関数 mysql_escape_string() の呼び出し。
-
[解決済み] $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて