你在Wordpress中包含FirePHP在哪里?

时间:2010-03-28 15:13:45

标签: wordpress firebug firephp

我在header.php中使用require_once()来包含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中使用require_once(在所有HTML输出之上)是安全的(预标题输出)。猜猜情况并非如此。

任何人都有这方面的经验吗? (P.S.我试过WP FirePHP插件,但是没有正常工作)

2 个答案:

答案 0 :(得分:1)

FirePHP使用输出标头将调试数据传输到浏览器。所以require_once()语句不是问题,而是你登录page.php的事实,此时已经输出了HTML。您不仅需要在发送任何内容之前包含FirePHP - 您还需要在发送内容之前进行所有日志记录。

通常的解决方法是使用输出缓冲和ob_*系列函数将任何输出保存到浏览器。即使echo()命令(和类似命令)已经发布,这也使您能够发送标题。

我猜这是安全的,这就是WP_FirePHP插件的用途。我建议再看看那个插件。

答案 1 :(得分:1)

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

位于头文件的顶部。