Подтвердить что ты не робот

Как я могу сохранить обратную трассировку PHP в журнал ошибок?

Я использую это прямо сейчас:

error_log(serialize(debug_backtrace()));

Но я должен каждый раз отказываться от него. Есть ли лучший способ хранения обратных трасс?

4b9b3361

Ответ 1

Это должно генерировать читаемую строку:

error_log(print_r(debug_backtrace(), true));

Кроме того, debug_print_backtrace() печатает обратную трассировку как строку, и ее вывод может быть записан с помощью обычных функций буфера вывода:

ob_start();
debug_print_backtrace();
error_log(ob_get_clean());

Ответ 2

    $log = var_export(debug_backtrace(), true);

Затем используйте переменную $log для входа в файл или что-то еще.

Ответ 3

С моей точки зрения лучший подход заключается в использовании функции исключения:

$e = new Exception();
$e->getTraceAsString();

Ответ 4

Немного уродливый, но работоспособный, я делаю это:

 error_log('Identifying string so that it doesn\'t just end up as gibberish' . json_encode(debug_backtrace()));

Ответ 5

Следующее может быть либо записано в файл .txt, либо вы также можете получить доступ к его содержимому (например, $ content [0]), в отличие от var_export, что немного сложнее:

    $content = unserialize(serialize(debug_backtrace()));