Настройка ChromePhp для Wordpress с использованием Xampp - PullRequest
3 голосов
/ 01 апреля 2012

Я обнаружил, что ChromePhp помогает с моими отладками PHP, и установил соответствующий плагин Chrome, но я не могу заставить его работать. Первоначально я поместил его в папку в моем перенаправленном htdocs и добавил его в свой путь PHP в php.ini xampp, используя:

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

Это не сработало. Я продолжал получать ошибки, подобные приведенной ниже, всякий раз, когда пытался включить файл и выводить ChromePhp::log("message")

Предупреждение: невозможно изменить информацию заголовка - заголовки, уже отправленные (вывод начался с D: \ htdocs \ ask.ca \ wp-admin \ menu-header.php: 91) в D: \ htdocs \ ask.ca \ wp -include \ ChromePhp.php в строке 385

Итак, я попробовал аналогичный подход в моем пути к Windows с тем же результатом.

Наконец, я перешел на локальный компьютер и попытался включить файл ChromePhp.php в свой плагин, используя:

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

Но я все еще получаю ту же ошибку ??? Кто-нибудь может объяснить азбуку работы ChromePhp? Я говорю ABC, поскольку, по-видимому, даже несмотря на то, что я читаю инструкции на веб-сайте ChromePhp (и пару других людей, чтобы заставить это работать), которые очень короткие, и я подумал, что просто, мне все еще нужно более подробное объяснение Улицы Сезам.

Ответы [ 6 ]

5 голосов
/ 01 апреля 2012

Я разработчик ChromePHP.Вы видите эту проблему, потому что вывод уже начался на странице.Как только вы что-то выводите, вы больше не можете устанавливать заголовки.

См. Этот связанный тикет:
https://github.com/ccampbell/chromephp/issues/15

Я не уверен во внутренней работе Wordpress, но в основном вы должны либо зарегистрировать информацию, прежде чем какой-либо вывод будет отправленна страницу, или вы должны использовать буферизацию вывода, чтобы предотвратить отправку вывода, а затем очистить буфер после завершения регистрации.

Также:
http://wordpress.org/support/topic/error-cannot-modify-header-information-2

1 голос
/ 24 декабря 2013

Вы можете использовать WP Chrome Logger плагин, основанный на chromephp .

Скачать этот плагин и активировать его.

Использовать любойфункция (ниже в примере) для вывода чего-либо в chrome-консоль (поместите эти функции в plugin file или functions.php).

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

Протестировано с WP 3.8

1 голос
/ 26 февраля 2013

Если вы просто хотите отлаживать данные в консоли, а не на экране.

// Debug $data will display in console
function console_debug( $data ) {
    $data = json_encode($data);
    echo "<script>console.dir($data)</script>";
}
1 голос
/ 03 декабря 2012

Если вы не можете изменить свой код, чтобы заставить работать Chrome PHP, вы можете использовать PHP Console . Это работает, даже если вывод начался. Сообщения отправляются на консоль Chrome и во всплывающее окно. Вы можете настроить всплывающее окно через контекстное меню, вызываемое правой кнопкой мыши.

Без обид ChromePHP. Я также ценю то, что делают люди, подобные авторам ChromePHP и PHP Console.

0 голосов
/ 16 октября 2014

Я попробовал плагин @Ravs, но не смог на всю жизнь заставить его работать.Продолжал получать ошибки пути, несмотря на тот факт, что путь был в порядке.

Пиковая внутри и просматривая другие комментарии в Интернете, я выбрал немного более длинный изогнутый маршрут простого выброса ChromePhp.php в тот же каталог, что ифайл и добавление

<?php
ob_start(); 
include 'ChromePhp.php';

...
ChromePhp::log('long winded but it works');
...

ob_flush();
?>
0 голосов
/ 10 мая 2013

это сработало для меня.

Добавьте @ в строке 378 в ChromePhp.php:

До ->

заголовок (self :: HEADER_NAME. ':'. $ This -> _ encode ($ data));

После ->

@ header (self :: HEADER_NAME. ':'. $ This -> _ encode ($ data));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...