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