debug_backtrace()
提供了調(diào)用堆疊,可以追蹤你所在的位置,但你已經(jīng)處於最外層(即全域)作用域,並且沒有進(jìn)行任何調(diào)用,所以沒有調(diào)用堆疊可用。
print_r(debug_backtrace());
產(chǎn)生的結(jié)果是:
Array ( )
如果將程式碼放在一個(gè)函數(shù)中,你將會(huì)得到一個(gè)包含一個(gè)項(xiàng)目的呼叫堆疊:
function foo() { print_r(debug_backtrace()); } foo();
產(chǎn)生的結(jié)果是:
Array ( [0] => Array ( [file] => ... [line] => 6 [function] => foo [args] => Array ( ) ) )
如果你想在全域作用域下獲得一些(最小的)調(diào)試信息,你可以將所有的程式碼封裝在一個(gè)閉包中,然後立即內(nèi)聯(lián)調(diào)用它:
(function() { // all your code here print_r(debug_backtrace()); })();
結(jié)果
Array ( [0] => Array ( [file] => ... [line] => 5 [function] => {closure} [args] => Array ( ) ) )
關(guān)於會(huì)話/環(huán)境數(shù)據(jù),只有在將它們作為參數(shù)傳遞時(shí),它們才會(huì)顯示出來:
foo($_ENV);
結(jié)果:
Array ( [0] => Array ( [file] => ... [line] => 6 [function] => foo [args] => Array ( [0] => Array ( [TERM] => xterm [PATH] => /usr/bin:/bin [LANG] => C [SHELL] => /bin/sh [MAIL] => /var/mail/nobody [LOGNAME] => nobody [USER] => nobody [HOME] => /tmp ) ) ) )
如果你想像這樣記錄會(huì)話/環(huán)境變量,最好的方法可能是明確地將它們輸出:
error_log(print_r($_ENV, true));
error_log(print_r($_SESSION, true));