Отладка в PHP - отладочные сообщения :: Cетевой уголок Majestio

Отладка в PHP - отладочные сообщения


Отладочные сообщения

Наиболее удобным способом является запись отладочной информации в отдельный лог-файл:

file_put_contents('/path/to/logfile.log', $message1);              // с каждым выводом лог-файл перезаписывается
file_put_contents('/path/to/logfile.log', $message2, FILE_APPEND); // с каждым выводом в лог-файл инфа добавляется

Ссылка на документацию: file_put_contents.

Дамп переменной & стек трэйс

Для получения дампа переменной для последующей записи в лог-файл используем print_r:

file_put_contents('/path/to/logfile.log', print_r($var, true));                                         // запись дампа переменной $var в лог-файл
file_put_contents('/path/to/logfile.log', print_r(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS), true)); // запись трассировки стека вызовов в лог-файл 

Ссылка на документацию: print_r и debug_backtrace.

Некоторые уточнения. При вызове print_r() вторым аргументом используеv true. Это предотвращает печать дампа, а вывод производится путем возврата дампа из функции. Собственно, данный и попадают потом в file_put_contents(). При вызове debug_backtrace() вторым аргументом используем DEBUG_BACKTRACE_IGNORE_ARGS, что значительно сокращает объем информации о трассировке. Если нужны все детали трассировки - этот аргумент, естественно, опускаем.

Рейтинг: 0/5 - 0 голосов