您在WordPress中包括Firephp在哪里?
题
我在用着 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中的使用require_once(尤其是所有html输出)是安全的(预头输出)。猜猜事实并非如此。
有人有这个经验吗? (PS我尝试了WP Firephp插件,无法正常工作)
解决方案
Firephp使用输出标头将调试数据传输到浏览器。所以 require_once()
陈述不是问题,而是您登录的事实 page.php
, ,此时HTML已经输出。您不仅需要在发送任何内容之前包括Firephp - 还需要在发送内容之前进行所有记录。
通常的解决方法是使用输出缓冲和 ob_*
功能家族。这使您能够发送标头,即使 echo()
命令(和喜欢的人)已经发布。
我猜想安全地做所有这些是WP_FirePHP插件的目的。我建议您再看一下该插件。
其他提示
放
<?php
require_once(/FirePHPCore/FirePHP.class.php');
ob_start();
?>
在标题文件的顶部。
不隶属于 StackOverflow