1

私はrequire_once()header.phpでFirePHPライブラリを含めるために使用しています。page.phpで私はいつものことをしています...

$firephp = FirePHP::getInstance(true);
$firephp->log($categories);

これらのエラーを取得します。

'Headers already sent....'

Cannot send log data to FirePHP. You must have Output Buffering enabled via ob_start() or output_buffering ini directive...

テンプレートのheader.php(すべてのHTML出力の上)でrequire_onceを使用するのが安全である(ヘッダー出力前)と考えました。そうではないと思います。

誰もがこれを経験したことがありますか?(PS私はWP FirePHPプラグインを試しましたが、正しく機能していませんでした)

4

2 に答える 2

1

FirePHPは、出力ヘッダーを使用してデバッグデータをブラウザに転送します。したがって、require_once()ステートメントは問題ではありませんが、ログインしているという事実ですpage.php。その時点で、HTMLはすでに出力されています。コンテンツを送信する前にFirePHPを含める必要があるだけでなく、コンテンツを送信する前にもすべてのロギングを行う必要があります。

通常の回避策は、出力バッファリングと一連ob_*の関数を使用して、ブラウザへの出力を保持することです。echo()これにより、コマンド(および同様のもの)がすでに発行されている場合でも、ヘッダーを送信できます。

これをすべて安全に行うことが、WP_FirePHPプラグインの目的であると私は推測しています。そのプラグインをもう一度確認することをお勧めします。

于 2010-03-28T15:21:48.137 に答える
1

置く

<?php
require_once(/FirePHPCore/FirePHP.class.php');
ob_start();
?>

ヘッダーファイルの上部にあります。

于 2013-04-30T08:21:39.173 に答える