問題タブ [output-buffering]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1534 参照

php - 出力バッファリングとFirePHPのエラー

以下のコードで「echo...」を実行する2行で、説明のつかない「ヘッダーはすでに行#...で送信されています」というエラーが表示されます。

ケースの簡略版:

バッファを印刷してフラッシュした後、ページの完了時にFirePHPが何かを行おうとしている理由がわかりません。それとも何をしようとしているのですか?この問題にどのように対処できますか?:(

0 投票する
2 に答える
699 参照

php - PHP 出力バッファはどのように機能しますか ($_SERVER['REQUEST_TIME'] を使用してスクリプトの実行時間を計算する際の問題)

タイトルの言い方が本当にわからなかったので、できる限りのことをしました。

最終的なスクリプト (Web ベース) の実行時間を計算する際に問題があります。

私たちは簡単なことをします

スクリプトの実行に X 秒以上かかる場合があることがわかりました。

これは、mysql、memcached、sphinx、またはその他の通常の原因の問題ではないことを 100% 確信しています。お願いします...それが「私たちの側の何か」ではないと仮定してください。

負荷の高い処理が行われ、まだいくつかのヒットが発生する前に、この単純な実行時間チェックをスクリプトの途中に追加しました。主に遠く離れた海外のお客様。

だから私はこれが何らかの形で出力バッファに関連しているに違いないと考えています。

したがって、質問は次のとおりです。

PHP + Apache では、出力バッファはどのように機能しますか? あなたが次のものを持っているとしましょう:

この例では、最大 2KB/秒のクライアント接続があるとします。

したがって、最も理想的な状況では、 「HTML Body Head」を受信するのに 5 秒かかります。

「Mysql クエリ #1」が実行されるまでに 5 秒かかるということですか?

私はあなたがアイデアを得ると思います。クライアント接続が遅いと、スクリプトの処理にかかる時間に影響しますか?

さらに: php.ini 設定はこれに影響しますか? また、flush()/ob_flush() は行いますか?

ありがとう。

0 投票する
2 に答える
686 参照

php - ob_get_contents 内の未実行の PHP コード

次の方法で、コントローラー クラス (yii フレームワーク) の出力を取得しようとしています。

編集:

の使用に関係しているようです

驚いたことに、出力には未実行の PHP コードが含まれています。

PHP はどのようにして未実行の PHP コードをエコーすることができますか? 結果の HTML を取得するにはどうすればよいですか?

0 投票する
2 に答える
5452 参照

session - session_regenerate_id()-ユニットテストYiiコントローラーで既に送信されたヘッダー

コントローラー(Yiiフレームワーク)の単体テストを試みています。

私がする時

ログインするために、次のエラーが発生します。

クラスの最初にこれを置くことによって、私はすでに出力をバッファリングしようとしました:

また、ob_clean()をsetUp()に入れ、ob_end_clean()をtearDownAfterClass()に入れます。

それでも、ヘッダーがすでに送信されているというメッセージが表示されます。ファイルにスペースや改行はありません。特定のテスト方法をコメントアウトすると、完全に機能します。login()が問題を引き起こしているようです。

誰かがこれを防ぐ方法/多分コントローラーを別の方法でユニットテストする方法を知っていますか?

ありがとう、MrB

0 投票する
2 に答える
304 参照

zend-framework - ZF が最初に空の文字を送信しないようにするにはどうすればよいですか?

REST API を持つ ZF を使用してアプリを開発しています。XML の先頭に空白文字があることを除けば、すべて順調に進んでいるため、XML は先頭に XML 宣言を含めるという規則に違反しています。javascript/jquery を使用してこれを使用しようとしていますが、firebug のコンソールに次のエラーが表示されます。

XML 解析エラー: XML またはテキスト宣言がエンティティの先頭にありません

これについて議論している SO や Web 上の他の場所には、多数の投稿があります。これは出力バッファリングが原因であり、他の場所で提案されているように ob_flush と flush を使用しようとしましたが、これらの投稿ではこれらがどこに行くべきかについて言及されていないため、その方法がわかりません。出力バッファリングを正しく理解していないかもしれませんが、この空白文字を削除するためにこれらの呼び出しをどこに置く必要があるかを誰か教えてもらえますか?

私は今これにかなりの時間を費やしたので(そもそもこれが問題であると理解するのにかなりの時間がかかりました)、私はそれについて大騒ぎしています!笑!

ありがとう

0 投票する
1 に答える
283 参照

php - エコーを頻繁に使用する場合、出力バッファリングを使用する必要がありますか?

初歩的な質問なのですが、よく分からないので質問させてください。

HTML コードに 100 を超える php エコーがある場合は、次のようになります。

ファイル.php:

出力バッファリングを使用する必要がありますか? もしそうなら、出力を「表示」する正しい方法(または機能)はどれですか?

前もって感謝します !

0 投票する
2 に答える
1638 参照

php - バッファの内容を取得するときにob_start()コールバックを起動するにはどうすればよいですか?

次のように、コンテンツを表示する前に、コンテンツに対してカスタムの電子メール難読化クラスのObfuscate()関数を実行するスクリプトがあります。

それはすべてうまくいきます。ただし、ビューアーキテクチャを完全に書き直したので、クラス関数内から電子メールの難読化を実行し、その文字列を返す必要があります(その後echoedになります)。私は最初に上記を次のように書き直しました:

残念ながら、$this->obfuscator->Obfuscate()コールバックは発生していません。それ以来ob_get_contents()、コールバックを起動しないことを学びましたが、同様に無駄にしようob_get_clean()としました。ob_get_flush()

では、コールバックが発生した後、どうすればバッファの内容を取得できますか?

0 投票する
1 に答える
1974 参照

php - Symfony2で出力バッファリングをオンにする方法は?

Sf2アプリへのすべてのリクエストに対してoutput_bufferingをオンにするにはどうすればよいですか?

FirePHPBundleを使用するにはこれが必要ですが、アプリケーション全体で使用したいと思います。

0 投票する
2 に答える
1983 参照

php - 出力バッファリングにはphpを使用し、ob_get_contentsを送信するにはjQueryを使用します

出力バッファリングを使用してphpページのコンテンツをキャプチャしようとしています:

obのコンテンツを$contentsusingに割り当てob_get_contents();ます。これは機能し、$contentsをエコーするとhtmlページが複製されます。

ただし、私のjQueryでは、次を使用してこれを非表示のテキストフィールド(「リンク」)に割り当てようとしています。

しかし、これは機能しません。そして、私は$ contentsにアクセスしすぎているので、それを感じていますが、確信が持てません...何かアイデアはありますか?

0 投票する
1 に答える
416 参照

php - PHP:きちんと解析された文字列をキャッシュする

私のページの上部には、キャッシュをチェックして出力バッファリングを開始するための次のコードがあります。

次に、下部でこれを使用して出力バッファを整理し、ページをキャッシュしますが、何もキャッシュされていないようです...

誰が何をすべきか知っていますか?