標籤:php調試函數
<?php
#調試函數小結
// 1.debug_backtrace():函數產生一個backtrace。
// 該函數返回一個關聯陣列。下面是可能返回的元素
// function:返回當前的函數名
// line:當前的行數
// file:當前的檔案名稱
// class:當前的類名
// object:當前對象
// type:當前的調用類型,可能的調用:
// 返回->,方法的調用
// 返回::,靜態方法調用
// 返回nothing,函數調用
// args:數組,如果在函數中,列出函數參數。如果在被應用的檔案中,列出被引用的檔案名稱
echo ‘<hr>1.debug_backtrace():<br>‘;
function myfun($arg){
print_r(debug_backtrace());
}
myfun(‘hello‘);
// 2.debug_print_backtrace():函數輸出backtrace
echo ‘<hr>2.debug_print_backtrace():<br>‘;
function myfun1($arg){
print_r(debug_print_backtrace());
}
myfun1(‘hello‘);
// 3.error_get_last():函數擷取最後發生的錯誤
// 函數以數組的形式返回最後發生的錯誤,數組中包含4個鍵和值,分別是:
// type:錯誤類型
// message:錯誤訊息
// file:發生錯誤所在的檔案
// line:發生錯誤 所在的行
echo ‘<hr>3.error_get_last():<br>‘;
/*error_reporting(0);
echo $test;
print_r(error_get_last());*/
// 4.error_log(error,type,destination,headers)函數返迴向伺服器錯誤記錄、檔案或遠程目標發送一個錯誤。
// 若成功則返回true,否則返回false
// error:必須。要記錄的錯誤訊息
// type:可選,,分別是:
// 0-預設。根據在php.ini檔案中的error_log配置,錯誤被送到伺服器日誌系統或檔案
// 1-錯誤被發送到destination參數中的地址。只有該類型使用headers
// 2-通過php debugging串連來發送錯誤。選項只在php3中可用
// 3-錯誤發送到檔案目標字串
// destination:可選。規定向何處發送錯誤訊息。該參數的值依賴於‘type’參數的值
// headers:可選,只在type為1時使用
echo ‘<hr>4.error_log():<br>‘;
//5.error_reporting(report_level):設定php的報錯界別並返回當前的層級
//report_level,可選值
// 1或E_ERROR:指令碼運行時遇到的致命性錯誤
// 2或E_WARNING:非致命性運行錯誤
// 4或E_PARSE:編譯時間解析錯誤
// 8或E_NOTICE:運行時通知,指令碼發現的一個可能或是正常運行一個指令碼時發生的錯誤
// 16或E_CORE_ERROR:php核心層級錯誤
// 32或E_CORE_WARNING:php核心層級的警告
// 64或E_COMPILE_ERROR:指明編譯錯誤
// 128或E_COMPILE_WARNING:非致命性編譯錯誤
// 任意數目的以上選項都可以用"或"來串連(用OR或|),這樣可以報告所有需要的各層級錯誤
echo ‘<hr>5.error_reporting(report_level):<br>‘;
//禁用錯誤報表
error_reporting(0);
//報告執行階段錯誤
error_reporting(E_ERROR|E_WARNING|E_PARSE);
//報告所有錯誤
error_reporting(E_ALL);
?>
本文出自 “虎哥的部落格” 部落格,請務必保留此出處http://7613577.blog.51cto.com/7603577/1531698