***php除錯總結

suboysugar發表於2017-10-13

 

列印PHP堆疊資訊

 

//呼叫堆疊函式,查詢呼叫函式的源頭,方便除錯
function print_stack_trace()
{
    $array =debug_backtrace();
  //print_r($array);//資訊很齊全
   unset($array[0]);
   foreach($array as $row)
    {
       $html .=$row[`file`].`:`.$row[`line`].`行,呼叫方法:`.$row[`function`]."<p>";
    }
    return $html;
}
我在我的資料庫的核心查詢函式裡面呼叫這個方法,列印結果如下: D
:wampwwwmeileleincludescls_mysql.php:471行,呼叫方法:query D:wampwwwmeileleincludescls_mysql.php:507行,呼叫方法:getAll D:wampwwwmeileleincludeslib_common.php:732行,呼叫方法:getAllCached D:wampwwwmeileleincludesinit.php:113行,呼叫方法:load_config D:wampwwwmeileleindex.php:4行,呼叫方法:include_once 一目瞭然,一直找到了入口,太強悍了。以後除錯又多了一種辦法 或者用下面的方法: [php] view plain copy $e = new Exception; var_dump($e->getTraceAsString());

 

 

 


 

輸出變數值

var_dump($a);  //變數的詳細資訊,有型別資訊
print_r($a);  //變數的簡單形式,輸出的value值沒有型別

exit($a);      //退出當前檔案,並輸出變數

//若$a是陣列,則可以格式化輸出,輸出的value值沒有型別
echo `<pre>`;
print_r($a);

//格式化輸出除錯資訊
echo "<pre>"//在輸出前加上該句 
var_dump($a); 

exit; echo "<br>"    //方便測試

//已經安裝php環境,可以直接在中斷中執行,比如下面
php -r "var_dump(urldecode(`a+b%2b`));"

 

如何聯絡我:【萬里虎】www.bravetiger.cn
【QQ】3396726884 (諮詢問題100元起,幫助解決問題500元起)
【部落格】http://www.cnblogs.com/kenshinobiy/


相關文章