2017-03-02 54 views
0

有沒有辦法列出php調用使用的所有函數,例如,讓我們假設我有一個名爲example.com/page_to_test.php的頁面,並且此頁面在頁面內使用多個函數本身或從其他類,我想爲在通話過程中使用的所有功能的列表(在運行時)列出所有由php調用使用的函數

+1

使用'xDebug'了點。這是一個PHP擴展 – JustOnUnderMillions

+0

btw你的網址應該是'example.com/page_to_test.php'使用'/'而不是'?' –

+0

在這裏閱讀更多https://devzone.zend.com/1135/tracing-php-applications -with-xdebug/ – JustOnUnderMillions

回答

1

你可以註冊一個滴答函數來實現這個

declare(ticks = 1); 
$calls = array(); 
function tracer() { 
    global $calls; 
    $bt = debug_backtrace(); 
    if (count($bt) <= 1) return; 
    $function = $bt[1]; 
    $call = $function['function']; 
    if (isset($function['class'])) { 
     $call = $function['class'] . '::' . $call; 
    } 
    $calls[$call] = true; 
} 
register_tick_function('tracer'); 

腳本執行後,$calls在其關鍵字中包含每個被調用的函數。

但只是爲了調試目的,因爲它非常慢。