1. 程式人生 > >如何優雅的輸出PHP除錯資訊

如何優雅的輸出PHP除錯資訊

經常因為出現緊急bug而被老闆罵的同事,為了更快的修復而直接利用線上的錯誤環境現場debug,並直接在頁面上echo和dump。結果被老闆發現了,又是一通臭罵。那麼有沒有什麼辦法更優雅的輸出PHP除錯資訊呢?


這裡提供一個方案:利用瀏覽器除錯模式的Console


1,先定義一個php函式:

function console($log='')
{
    switch (empty($log)) {
        case False:
            $out = json_encode($log);
            $GLOBALS['console'] .= 'console.log('.$out.');';
            break;
        
        default:
            echo '<script type="text/javascript">'.$GLOBALS['console'].'</script>';
    }
}


2,在需要除錯的地方直接呼叫它,遞交的引數可以是字串,也可以是陣列。
$arr['status'] = 0;
$arr['msg'] = '錯誤的請求'
console($arr);

3,在適當的位置呼叫無引數的console,用來輸出除錯資訊,比如各類php框架入口檔案的最底部
</pre><pre name="code" class="php">console()
4,開啟瀏覽器(比如chrome),載入頁面後進入除錯模式(比如按F12鍵),點選Console,你會發現所有資料都在這裡等著你查閱。

PS:因為這個函式用到了json來輸出陣列,所以要求編碼為UTF-8,如果使用其它編碼可能會出現未知問題,需要留意。

原文地址:http://www.cnblogs.com/gidot/p/4307709.html