我在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插件,但是没有正常工作)
答案 0 :(得分:1)
FirePHP使用输出标头将调试数据传输到浏览器。所以require_once()
语句不是问题,而是你登录page.php
的事实,此时已经输出了HTML。您不仅需要在发送任何内容之前包含FirePHP - 您还需要在发送内容之前进行所有日志记录。
通常的解决方法是使用输出缓冲和ob_*
系列函数将任何输出保存到浏览器。即使echo()
命令(和类似命令)已经发布,这也使您能够发送标题。
我猜这是安全的,这就是WP_FirePHP插件的用途。我建议再看看那个插件。
答案 1 :(得分:1)
把
<?php
require_once(/FirePHPCore/FirePHP.class.php');
ob_start();
?>
位于头文件的顶部。