在PHP中将debug_backtrace()分配给变量
我试图给我发电子邮件在PHP中将debug_backtrace()分配给变量,php,debugging,Php,Debugging,我试图给我发电子邮件debug\u backtrace(),但它只是打印出数组。 我需要将其分配给一个变量,以便var_export可以使用它。 我该怎么做 $var = debug_backtrace() debug\u backtrace返回数组,但不打印它。处理报告电子邮件的代码可能有问题。你能把那段代码也粘贴到这里吗?debug\u backtrace返回数组,但不打印它。处理报告电子邮件的代码可能有问题。你能把这段代码也粘贴到这里吗?发送以下$msg: $msg = print_r
debug\u backtrace()
,但它只是打印出数组。
我需要将其分配给一个变量,以便var_export可以使用它。
我该怎么做
$var = debug_backtrace()
debug\u backtrace
返回数组,但不打印它。处理报告电子邮件的代码可能有问题。你能把那段代码也粘贴到这里吗?debug\u backtrace
返回数组,但不打印它。处理报告电子邮件的代码可能有问题。你能把这段代码也粘贴到这里吗?发送以下$msg:
$msg = print_r( debug_backtrace( ) , true ) ;
未测试,但这是一种方式。发送以下$msg:
$msg = print_r( debug_backtrace( ) , true ) ;
未测试,但这是一种方法。有一个“打印阵列”的函数,debug\u print\u backtrace
。你没有碰巧把这两个人混在一起吗?默认情况下,和print_r()都会打印结果。如果希望返回结果,则必须将
true
作为第二个参数传递(以便将其分配给变量)
有一个“打印出数组”的函数,debug\u print\u backtrace
。你没有碰巧把这两个人混在一起吗?默认情况下,和print_r()都会打印结果。如果希望返回结果,则必须将
true
作为第二个参数传递(以便将其分配给变量)
Debug Backtrace返回一个数组,以便您可以像处理任何数组一样处理它。例如:
$trace = debug_backtrace();
foreach ($trace as $i=>$t) {
$log .= $i .'=>'.$t['file'].' '.$t['line']."\n";
}
然后您可以通过电子邮件发送日志行。Debug Backtrace返回一个数组,以便您可以像处理任何数组一样处理它。例如:
$trace = debug_backtrace();
foreach ($trace as $i=>$t) {
$log .= $i .'=>'.$t['file'].' '.$t['line']."\n";
}
然后你可以通过电子邮件发送日志行。我知道这很旧,但我发现自己也有同样的问题。我无法100%确认,但它很可能与内存不足错误有关 我的场景-在第三方提交失败时,发送一封包含调试信息的电子邮件(即代码失败的位置)。我也在将
$trace=debug\u backtrace()
保存到一个变量中,然后使用var\u export($trace,true)
将其嵌入电子邮件中。我在CodeIgniter框架内和独立页面(遗留代码)上都使用了这个助手函数
回溯+导出代码在独立页面中运行良好,但在CodeIgniter中打印(部分)结果到屏幕上。它实际上只打印了2条痕迹,然后在直线中间切断。< / P>
当我只打印行、文件、fn和args,而不是重复整个回溯时,一切正常
我的猜测是,太多的回溯递归(遍历CI对象)耗尽了内存,从而导致它将结果吐到屏幕上。我知道这很旧,但我发现自己也有同样的问题。我无法100%确认,但它很可能与内存不足错误有关 我的场景-在第三方提交失败时,发送一封包含调试信息的电子邮件(即代码失败的位置)。我也在将
$trace=debug\u backtrace()
保存到一个变量中,然后使用var\u export($trace,true)
将其嵌入电子邮件中。我在CodeIgniter框架内和独立页面(遗留代码)上都使用了这个助手函数
回溯+导出代码在独立页面中运行良好,但在CodeIgniter中打印(部分)结果到屏幕上。它实际上只打印了2条痕迹,然后在直线中间切断。< / P>
当我只打印行、文件、fn和args,而不是重复整个回溯时,一切正常
我的猜测是,来自回溯的太多递归(遍历CI对象)耗尽了内存,从而导致它将结果吐到屏幕上。您可以使用print\u r()将输出返回到变量并将其放入文件中
$backtrace = debug_backtrace(true);
$dump = print_r($backtrace, true);
$f=fopen('export.txt','a');
fwrite($f, date("Y-m-d H:i:s")." ".$dump."\n");
fclose($f);
您可以使用print_r()将输出返回到变量并将其放入文件
$backtrace = debug_backtrace(true);
$dump = print_r($backtrace, true);
$f=fopen('export.txt','a');
fwrite($f, date("Y-m-d H:i:s")." ".$dump."\n");
fclose($f);
我想你有一个额外的尾随括号。我想你有一个额外的尾随括号。