在Yii框架下查看当前页面执行的所有sql语句的方法,主要是通过配置相关文件来达到调试sql的目的,具体方法如下:
(1)修改 index.php 开启调试模式
在 index.php 文件内增加如下两行代码(如果不存在的话):
2 | defined( 'YII_DEBUG' ) or define( 'YII_DEBUG' ,true); |
4 | defined( 'YII_TRACE_LEVEL' ) or define( 'YII_TRACE_LEVEL' ,3); |
(2)修改配置文件 main.php
在config/main.php的 components - log - routes 下加入如下数组:
2 | 'class' => 'CFileLogRoute' , |
4 | 'categories' => 'system.db.*' , |
5 | 'logFile' => 'app_' . date ( 'Y-m-d' ). '.log' , |
6 | '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