使用Xampp为Wordpress设置ChromeHP


Setting Up ChromePhp For Wordpress Using Xampp

我找到了ChromePhp来帮助我调试PHP,并安装了相关的Chrome插件,但我似乎无法让它工作。我最初把它放在重定向的htdocs中的一个文件夹中,并使用将其添加到examplep的PHP.ini中的PHP路径中

; Windows: "'path1;'path2"
include_path = ".;C:'xampp'php'PEAR;D:'htdocs'includes"

这似乎不起作用——每当我试图包含文件并输出ChromePhp::log("message") 时,我总是会收到下面这样的错误

警告:无法修改标头信息-标头已由(输出开始于D:''htdocs''ask.ca''wp-admin''manue-header.php:91)在D:''htdocs''ask.ca''wp includes''ChromePhp.php的385 行发送

因此,我在windows路径中尝试了类似的方法,得到了相同的结果。

最后,我完全本地化了,并尝试将ChromePhp.php文件包含到我的插件中,使用:

include( dirname(__FILE__) . '/php/ChromePhp.php' );
ChromePhp::log("Hello World");

但我还是犯了同样的错误???有人能解释一下让ChromeHP发挥作用的ABC吗?我之所以说ABC,显然是因为尽管我阅读了ChromeHP的网站说明(以及其他几个人为了让它发挥作用),这些说明非常简短,我认为很简单,但我仍然需要更多的芝麻街解释。

我是ChromeHP的开发人员。您看到这个问题是因为页面上已经开始输出。一旦你回显了一些内容,你就不能再设置标题了。

查看此相关票证:
https://github.com/ccampbell/chromephp/issues/15

我不确定Wordpress的内部工作原理,但基本上,你必须在任何输出发送到页面之前记录信息,或者你必须使用输出缓冲来防止输出被发送,然后在记录完成后刷新缓冲区。

此外:
http://wordpress.org/support/topic/error-cannot-modify-header-information-2

如果您只是想在控制台而不是屏幕上调试数据。

// Debug $data will display in console
function console_debug( $data ) {
    $data = json_encode($data);
    echo "<script>console.dir($data)</script>";
}

如果您不能更改代码以使Chrome PHP正常工作,可以使用PHP控制台。即使输出已经开始,它也能工作。信息会进入Chrome的控制台和弹出窗口。您可以通过右键单击上下文菜单来配置弹出窗口。

无意冒犯ChromeHP。我也很欣赏像ChromeHP和PHP控制台的作者们所做的一切。

这对我有效。

在ChromePhp.hp:的第378行添加@

之前

标头(self::header_NAME.':'.$this->_encode($data));

之后

@标头(self::header_NAME.':'.$this->_encode($data));

您可以使用基于chromepp的WP Chrome Logger插件。

下载这个插件并激活它。

使用任意函数(下面的示例)在chrome控制台中输出任何内容(将这些函数放在plugin filefunctions.php中)。

ChromePhp::log('Hello console!');
ChromePhp::log($_SERVER);
ChromePhp::warn('something went wrong!');

用WP 3.8 测试

我尝试过@Ravs插件,但我一辈子都无法让它工作。尽管路径很好,但仍不断出现路径错误。

在内部达到峰值并查看了网络上的其他评论后,我采取了稍微冗长一点的方法,简单地将ChromePhp.php放入与文件相同的目录中,并添加

<?php
ob_start(); 
include 'ChromePhp.php';
...
ChromePhp::log('long winded but it works');
...
ob_flush();
?>