本文所述为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' ),
|
希望本文所述方法对大家有所帮助。