如何将 PHP 回溯保存到错误日志中?

2022-08-30 11:39:13

我现在正在使用它:

error_log(serialize(debug_backtrace()));

但我每次都必须取消序列化它。有没有更好的方法来存储回溯跟踪?


答案 1

这应该生成一个可读的字符串:

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

此外,debug_print_backtrace() 将回溯跟踪打印为字符串,其输出可以使用常规输出缓冲函数捕获:

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

答案 2

从我的角度来看,最好的方法是使用异常功能:

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

推荐