私は今これを使っています:
error_log(serialize(debug_backtrace()));
しかし、毎回シリアル化を解除する必要があります。バックトレースを保存するより良い方法はありますか?
これにより、読み取り可能な文字列が生成されます。
error_log(print_r(debug_backtrace(), true));
さらに、 debug_print_backtrace() はバックトレースを文字列として出力し、その出力は通常の出力バッファー関数でキャプチャできます。
ob_start();
debug_print_backtrace();
error_log(ob_get_clean());
私の観点から、最良のアプローチは例外機能を使用することです:
$e = new Exception();
$e->getTraceAsString();
$log = var_export(debug_backtrace(), true);
次に、変数$log
を使用して、ファイルなどにログインします。
少し醜いですが実行可能です、私はこれを行います:
error_log('Identifying string so that it doesn\'t just end up as gibberish' . json_encode(debug_backtrace()));
以下は、.txtファイルに書き込むか、そのコンテンツ($ content [0]など)にアクセスすることもできます。
$content = unserialize(serialize(debug_backtrace()));