以下のコードで "echo ..."を実行する2行で説明できない "Headers already on lines#..."エラーが発生しました。例出力バッファリングとFirePHPでエラーが発生しました
簡体字版:
<?php
ob_start();
//Initializing FirePHP...
include_once(F_FS_PATH."lib/FirePHPCore/fb.php");
// <--- I've also tried to move the ob_start(), after the FirePHP init,
// <--- instead before it. But it made no difference.
?>
<html>
<div>A lots of HTML (and php) code goes here... Actually my entire page.
FirePHP is also used here many times by multiple invocations
of the function fb('debug text');</div>
</html>
<?php
$all_page_content=ob_get_clean();
if ($GLOBALS["marketing_enabled"])
echo marketingReplaceContent($all_page_content);
else
echo $all_page_content;
ob_flush(); flush();
//Do some other non-printing - but slow stuff.
do_the_silent_slow_stuff_Now();
// <--- presumably the php execution ends here.
?>
私はバッファを印刷し、それをフラッシュした後FirePHPは、ページの完了時に何かをしようとしている理由を理解できないのですか?それとも何をしようとしていますか?どうすればこの問題に対処できますか? :(ここ
'do_the_silent_slow_stuff_Now()'では何をしていますか? phpを呼び出す呼び出しがあれば、既に 'flush()'で出力を送信しているので、動作しないヘッダを送信しようとします。 –
hehe :)はい。 do_the_silent_slow_stuff_Now()に1つのfb()コールがありました。どのようにして問題が発生したのか、私には起こりませんでした。とても簡単!私は問題がエコー・ステートメントの前のどこかにあると予想していましたが、そこを見るにはあまりにも非合理です。とにかく、私の質問への回答としてこれを書いてください、私は答えとしてそれをマークします。私のようにバッフルになっているGoogleのユーザーにとっては便利かもしれません:) – PatlaDJ