我嘗試給我發電子郵件debug_backtrace()
,但它只是打印出數組。 我需要將它分配給一個變量,以便var_export可以使用它。 我該怎麼做?指定debug_backtrace()PHP中的變量
1
A
回答
2
發送以下$味精:
$msg = print_r(debug_backtrace() , true) ;
沒有測試,但是這是一種方式。
3
?????
$var = debug_backtrace()
2
debug_backtrace
返回數組,但並不打印。處理報告電子郵件的代碼可能有問題。你能否在這裏粘貼這段代碼?
5
有一個「打印出陣列」的功能,debug_print_backtrace
。你沒有把這兩個混在一起嗎?
默認情況下,var_export()和print_r()都會打印結果。你必須通過true
作爲第二個參數,如果你想讓他們返回結果(所以你可以將它分配給一個變量)
$result = var_export(debug_backtrace(), true);
1
調試回溯返回一個數組,所以你可以像任何陣列處理。例如:
$trace = debug_backtrace();
foreach ($trace as $i=>$t) {
$log .= $i .'=>'.$t['file'].' '.$t['line']."\n";
}
然後您可以發送電子郵件給自己的日誌行。
0
我知道這是舊的,但我發現自己也有同樣的問題。我無法確認100%,但它很可能與內存不足錯誤有關。
我的場景 - 在第三方提交失敗時,發送一封包含調試信息的電子郵件(即代碼失敗的地方)。我也將$trace = debug_backtrace()
保存到一個變量中,然後使用var_export($trace, true)
將它嵌入到電子郵件中。我在CodeIgniter框架和獨立頁面(遺留代碼)內都使用了這個幫助函數。
回溯+導出代碼在獨立頁面中工作正常,但在CodeIgniter中打印(部分)結果到屏幕。它實際上只在打印線的中間纔打印前兩條曲線。
當我只打印行,文件,fn和參數,而不是回顯整個backtrace時,一切正常。
我的猜測是,從回溯(通過CI對象前進)過多的遞歸會消耗內存,從而導致它嘔吐結果進行篩選。
1
你可以使用的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);
相關問題
- 1. 在PHP變量中指定js變量
- 2. 在{php}中爲smarty指定新變量
- 3. VBScript替代PHP的debug_backtrace
- 4. PHP debug_backtrace位掩碼用法
- 5. 在Golang中指定變量的指針
- 6. 爲同一頁面上的php變量指定Javascript變量
- 7. 獲取JavaScript變量指定PHP vaiable
- 8. PHP未定義指數/變量
- 9. 在Python中指定變量
- 10. 指定變量powerpoint.presentation
- 11. 指定變量的IFRAME
- 12. 如何將HTML指定爲PHP中的變量值?
- 13. 變量中的PHP變量
- 14. PHP中的變量變量
- 15. 綁定變量在PHP中
- 16. 排除指定類objectbox中的變量
- 17. C#中未指定類型的變量?
- 18. 指定子類中的變量父
- 19. 使用click中指定的變量()
- 20. PHP - debug_backtrace()崩潰 - 我該怎麼辦?
- 21. Zend Framework 2 debug_backtrace()
- 22. debug_backtrace - 長參數
- 23. 定義PHP變量 - PHP 101
- 24. 在php/mysql查詢中指定smarty變量
- 25. PHP注意:PHP中未定義變量
- 26. 指定因子變量
- 27. 批錯誤指定變量?
- 28. 指定JupyterHub路徑變量
- 29. SQLALCHEMY更新指定變量
- 30. 數組到指定變量
我想你已經有了一個額外的尾隨括號。 – siliconrockstar 2017-07-26 16:31:32
@siliconrockstar你的想法是正確的。謝謝。 – zaf 2017-07-27 17:09:50