Intereting Posts
Как вычесть значения двух разных столбцов из двух разных таблиц? выпадающее меню по выбору другого выпадающего меню javascript включает файл в onclick Как можно изменить 2-мерный многомерный массив на n уровней? PHP str_replace для изменения путей ссылок Эхо-результаты сложного запроса INNER JOIN с несколькими таблицами codeigniter Disallowed Key Characters – если все символы разрешены Своевременный интервал для извлечения данных из db и остановки при поступлении данных Symfony NelmioApiDocBundle swagger-ui PHP Аннотации объекта json с массивом свойств объектов, не показывающих Xdebug успешно подключается к клиентам DBGP, но не останавливается на контрольных точках Должен ли я использовать функцию JOIN или запускать несколько запросов в структуре цикла? Получение ошибок «Команды не синхронизированы, вы не можете запустить команду сейчас» при выполнении хранимой процедуры в mysql / PHP mysqli_real_escape_string () возвращает пустую строку Изменение переменной сеанса PHP между страницами Точный таргетинг на директиву Filesmatch

Настройка ChromePhp для WordPress с помощью Xampp

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

; Windows: "\ path1; \ path2" include_path = ".; C: \ xampp \ php \ PEAR; D: \ htdocs \ включает в себя"

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

Предупреждение: невозможно изменить информацию заголовка – уже отправленные заголовки (вывод начался в D: \ htdocs \ ask.ca \ wp-admin \ menu-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"); 

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

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

См. Этот связанный билет:
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 и всплывают. Вы можете настроить всплывающее меню с помощью контекстного меню правой кнопки мыши.

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

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

Загрузите этот плагин и активируйте его.

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

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

Протестировано с помощью WP 3.8

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

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

перед->

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

После ->

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

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

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

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