本文分享一下在Yii框架下查看當前頁面執行的所有sql語句的方法,主要是通過配置相關文件來達到調試sql的目的,具體方法如下:
(1)修改 index.php 開啟調試模式
在 index.php 文件內增加如下兩行代碼(如果不存在的話):
//開啟調試模式 defined('YII_DEBUG') or define('YII_DEBUG',true); //設置日志記錄級別,YII_TRACE_LEVEL的數字越大,信息越清楚 defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
(2)修改配置文件 main.php
在config/main.php的 components - log - routes 下加入如下數組:
array( 'class'=>'CFileLogRoute',//文件記錄日志的形式 'levels'=>'trace',//日志記錄級別 'categories'=>'system.db.*',//只顯示關於數據庫信息,包括數據庫連接,數據庫執行語句 'logFile' => 'app_'.date('Y-m-d').'.log',//日志保存文件名 'logPath'=>'D:\phpStudy\WWW\phpernote\com\tmpfile\log_db',//日志保存路徑 ),
ok,經過如上的設置,刷新頁面,你就可以到 D:\phpStudy\WWW\phpernote\com\tmpfile\log_db 這個目錄裡面去查找生成的sql記錄文件了。輸出的日志格式如下:
[時間] - [級別] - [類別] - [內容]
2015/04/17 10:30:51 [trace] [system.db.CDbCommand] Querying SQL: SELECT * FROM `phpernote_article` ORDER BY id desc LIMIT 15