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' ),查看更多关于ThinkPHP调试模式与日志记录 - Thinkphp的详细内容...