我在用着 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();
?>

在标题文件的顶部。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top