本文所述为ThinkPHP调试模式与日志记录的使用方法,该功能在进行ThinkPHP项目开发的过程中起到非常重要的作用,有必要加以理解并掌握。具体方法如下:
1、可以在config.php中进行设置,默认为关闭状态。
开启方法如下:
1
|
'APP_DEBUG' => true |
打开\ThinkPHP\Common\debug.php文件可以查看debug的默认设置如下:
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, //数据库字段缓存 '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中进行相应的设置即可,如:
1
2
3
4
5
6
|
//'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文件,代码如下:
1
2
3
4
5
|
<?php return array { '当前的server信息' => $_SERVER [ 'REMOTE_ADDR' ], }; ?> |
自定义的方法二:在Action方法中添加:
1
|
$this ->trace( '调试测试' , '5211314' ); |
3、输出调试法:
1
|
halt( 'aaaaaaa' ); //输出aaaaaa并且中断程序执行 |
4、模型调试:显示SQL语句
1
2
3
|
$User = new Model( 'User' ); $User ->find(1); echo $User ->getLastSql(); //输出最后执行的一条SQL语句 |
5、日志记录\ThinkPHP\Lib\Think\Core\Log.class.php
config.php中设置
1
2
|
'LOG_RECORD' =>true, //开启了日志记录 'LOG_RECORD_LEVEL' => array ( 'EMERG' , 'ALERT' , 'ERROR' ), |
希望本文所述方法对大家有所帮助。