本文所述為ThinkPHP調(diào)試模式與日志記錄的使用方法,該功能在進行ThinkPHP項目開發(fā)的過程中起到非常重要的作用,有必要加以理解并掌握。具體方法如下:
1、可以在config.php中進行設(shè)置,默認(rèn)為關(guān)閉狀態(tài)。
開啟方法如下:
1
|
'APP_DEBUG' => true |
打開\ThinkPHP\Common\debug.php文件可以查看debug的默認(rèn)設(shè)置如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
return array ( 'LOG_RECORD' =>true, // 進行日志記錄 'LOG_RECORD_LEVEL' => array ( 'EMERG' , 'ALERT' , 'CRIT' , 'ERR' , 'WARN' , 'NOTIC' , 'INFO' , 'DEBUG' , 'SQL' ), // 允許記錄的日志級別 'DB_FIELDS_CACHE' => false, //數(shù)據(jù)庫字段緩存 'SHOW_RUN_TIME' =>true, // 運行時間顯示 'SHOW_ADV_TIME' =>true, // 顯示詳細(xì)的運行時間 'SHOW_DB_TIMES' =>true, // 顯示數(shù)據(jù)庫查詢和寫入次數(shù) 'SHOW_CACHE_TIMES' =>true, // 顯示緩存操作次數(shù) 'SHOW_USE_MEM' =>true, // 顯示內(nèi)存開銷 'SHOW_PAGE_TRACE' =>true, // 顯示頁面Trace信息 由Trace文件定義和Action操作賦值 'APP_FILE_CASE' => true, // 是否檢查文件的大小寫 對Windows平臺有效 ); |
注意事項:DB_FIELDS_CACHE數(shù)據(jù)庫字段緩存默認(rèn)關(guān)閉狀態(tài),如果開啟的話,會在Runtime\Data文件夾下生成文件緩存,并且修改表之后,如新加了字段,這個緩存無法記錄你的操作,需要我們手動刪除一次,對表的修改才會成功。
將'APP_DEBUG' => true后,訪問頁面會出現(xiàn)如下圖的DEBUG提示:
如果只想顯示一部分提示信息,如運行時間,內(nèi)存開銷等,
可以在config.php中進行相應(yīng)的設(shè)置即可,如:
1
2
3
4
5
6
|
//'APP_DEBUG' => true, // 調(diào)試模式開關(guān) 'SHOW_RUN_TIME' => true, //運行時間顯示 'SHOW_ADV_TIME' => true, //顯示詳細(xì)的運行時間 'SHOW_DB_TIMES' => true, //顯示數(shù)據(jù)庫的操作次數(shù) 'SHOW_CACHE_TIMES' =>true, //顯示緩存操作次數(shù) 'SHOW_USE_MEM' => true, //顯示內(nèi)存開銷 |
提示信息如下圖:
2、頁面Trace信息的自定義:\ThinkPHP\Tpl\PageTrace.tpl.php
自定義的方法一:在config.php的同級目錄加上一個trace.php文件,代碼如下:
1
2
3
4
5
|
<?php return array { '當(dāng)前的server信息' => $_SERVER [ 'REMOTE_ADDR' ], }; ?> |
自定義的方法二:在Action方法中添加:
1
|
$this ->trace( '調(diào)試測試' , '5211314' ); |
3、輸出調(diào)試法:
1
|
halt( 'aaaaaaa' ); //輸出aaaaaa并且中斷程序執(zhí)行 |
4、模型調(diào)試:顯示SQL語句
1
2
3
|
$User = new Model( 'User' ); $User ->find(1); echo $User ->getLastSql(); //輸出最后執(zhí)行的一條SQL語句 |
5、日志記錄\ThinkPHP\Lib\Think\Core\Log.class.php
config.php中設(shè)置
1
2
|
'LOG_RECORD' =>true, //開啟了日志記錄 'LOG_RECORD_LEVEL' => array ( 'EMERG' , 'ALERT' , 'ERROR' ), |
希望本文所述方法對大家有所幫助。