PHPでバッファリングするのはどうですか?私はこれについて多くのスレッドを読んだ。私が唯一の利点について読んだことがあるPHPでバッファリングがデフォルトで有効になっていないのはなぜですか?
How to fix “Headers already sent” error in PHP
Why use output buffering in PHP?
、バッファリングを使用しての欠点についての情報はありませんでした。
Ex。単独の出力バッファリングをオンにするWeb開発者
- ための出力バッファリングの
利点は、それがPHPプロセスとしてバラバラにブラウザに送信されていないので、それはダウンロードして、私たちのHTMLをレンダリングするのにかかる時間の量を減少させますHTML。
- PHPの文字列を使ってできることは、HTMLページ全体を1つの変数として扱えるようになりました。
- 「警告:ヘッダー情報を変更できません - すでに(出力)によって送信されたヘッダー」というCookieを設定している場合は、出力バッファリングがあなたの答えであることを知ってうれしいです。
出力バッファリングが唯一の利点を提供する場合は、なぜ私は、関数のob_start()、または他の方法で手動でそれをオンにする必要がありますか?
ログインページをバッファしますか? –
@JeroenHeier私が理解していない、DBのログイン名が入っているサイト全体にバーがある場合は、まずユーザーがログインしているかどうかを確認する必要があるので、start_sessionを実行して変数をチェックする必要があります。 「ログインページ」を定義してください。 //編集一方、ユーザーがログインしたい場合は、まず彼がログインしていないことを確認する必要があるので、login_pageでstart_session()を使用してください。 – Kentakis15
短所:メモリー使用量。バッファースタックに対する制御の欠如。重大なエラーメッセージを「失う」可能性があります。あなたが出力をバッファリングしているならばあなたのコードに無限ループを注意してください。あなたの出力がtext/htmlではない場合、腐敗の危険性があります。ファイルのダウンロード)サイトのレスポンスが低下することがあります。 CLIスクリプトはバッファリングしたくないかもしれませんが、出力を直接表示することはできます –