Вопрос

я использую 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...

Я решил, что использование require_once в заголовке шаблона. Php (прежде всего 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