Как распечатать журнал отладки? - PullRequest
116 голосов
/ 21 мая 2011

Я бы хотел отладить некоторый PHP-код, но я думаю, что вывод журнала на экран или в файл мне подходит.

Как распечатать журнал в коде PHP?

Обычный print / printf, похоже, идет на вывод HTML, а не на консоль.

У меня есть сервер Apache, выполняющий код PHP.

Ответы [ 15 ]

1 голос
/ 13 сентября 2015

Я использую CakePHP, поэтому я использую:

$this->log(YOUR_STRING_GOES_HERE, 'debug');
1 голос
/ 13 апреля 2014

Я использовал многие из них, но так как мне обычно нужно отлаживать при разработке, и так как я занимаюсь разработкой на localhost, я последовал совету других и теперь пишу в консоль отладки JavaScript браузера (см. http://www.codeforest.net/debugging-php-in-browsers-javascript-console).

Это означает, что я могу просмотреть веб-страницу, которую генерирует мой PHP, в моем браузере и нажать F12, чтобы быстро показать / скрыть любую трассировку отладки.

Поскольку я постоянно слежу за инструментами разработчика для отладчика, CSS-разметки и т. Д., Имеет смысл взглянуть на мой логон PHP там.

Если кто-нибудь решит нам этот код, я внес одно незначительное изменение. После

function debug($name, $var = null, $type = LOG) {

Я добавил

$name = 'PHP: ' . $name;

Это потому, что мой серверный PHP генерирует HTML, содержащий JavaScript, и я считаю полезным отличать выходные данные от PHP и JS.

(Примечание: в настоящее время я обновляю это, чтобы позволить мне включать и выключать различные типы вывода: из PHP, из JS и доступа к базе данных)

1 голос
/ 06 сентября 2013

Это отличный инструмент для отладки и регистрации php: PHp Debugger & Logger

Он работает сразу после установки всего с 3 строками кода. Он может отправлять сообщения на консоль js для отладки ajax и может заменить обработчик ошибок. Он также выводит информацию о переменных, таких как var_dump () и print_r (), но в более читаемом формате. Очень хороший инструмент!

1 голос
/ 02 октября 2012

Вы можете использовать модуль php curl для совершения звонков на http://liveoutput.com/. Это прекрасно работает в защищенной корпоративной среде, где существуют определенные ограничения в php.ini, которые ограничивают использование file_put_contents.

0 голосов
/ 21 мая 2011

Вы можете использовать

<?php
{
    AddLog("anypage.php","reason",ERR_ERROR);
}
?>

или, если вы хотите распечатать эту выписку в журнале, вы можете использовать

AddLog("anypage.php","string: ".$string,ERR_DEBUG_LOW);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...