ThinkPHP调试模式与日志记录概述

 更新时间:2014年08月22日 17:06:47   投稿:shichen2014  
这篇文章主要介绍了ThinkPHP调试模式与日志记录的用法,需要的朋友可以参考下

本文所述为ThinkPHP调试模式与日志记录的使用方法,该功能在进行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'),

希望本文所述方法对大家有所帮助。

相关文章

  • PHP 在线翻译函数代码

    PHP 在线翻译函数代码

    最近弄了个PHP在线翻译函数。用GOOGLE翻译工具。可以执行批量翻译。
    2009-05-05
  • ThinkPHP 整合Bootstrap Ajax分页样式

    ThinkPHP 整合Bootstrap Ajax分页样式

    这篇文章主要介绍了ThinkPHP 整合Bootstrap Ajax分页的相关资料,需要的朋友可以参考下
    2016-12-12
  • laravel5.6 框架操作数据 Eloquent ORM用法示例

    laravel5.6 框架操作数据 Eloquent ORM用法示例

    这篇文章主要介绍了laravel5.6 框架操作数据 Eloquent ORM用法,结合实例形式详细分析了laravel5.6 框架使用Eloquent ORM操作数据增删改查相关实现技巧,需要的朋友可以参考下
    2020-01-01
  • PHP模板引擎smarty详细介绍

    PHP模板引擎smarty详细介绍

    这篇文章主要介绍了PHP模板引擎smarty详细介绍,本文讲解了什么是smarty、smarty优点、不适合使用smarty的地方、smarty目录结构及版本,需要的朋友可以参考下
    2015-05-05
  • PHP+jQuery 注册模块开发详解

    PHP+jQuery 注册模块开发详解

    本文主要是记录了开发PHP+jQuery注册模块的全过程,包含填写栏目用户名、邮箱、密码、重复密码、验证码等,非常的详细,推荐给大家
    2014-10-10
  • CodeIgniter分页类pagination使用方法示例

    CodeIgniter分页类pagination使用方法示例

    这篇文章主要介绍了CodeIgniter分页类pagination使用方法,结合实例形式简单分析了CodeIgniter框架中的分页类pagination基本的配置与使用技巧,需要的朋友可以参考下
    2016-03-03
  • PHP通过curl获取接口URL的数据方法

    PHP通过curl获取接口URL的数据方法

    今天小编就为大家分享一篇PHP通过curl获取接口URL的数据方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • ThinkPHP使用Smarty第三方插件方法小结

    ThinkPHP使用Smarty第三方插件方法小结

    这篇文章主要介绍了ThinkPHP使用Smarty第三方插件方法,结合实例形式总结分析了ThinkPHP使用Smarty模板的具体步骤与相关注意事项,需要的朋友可以参考下
    2016-03-03
  • ThinkPHP写数组插入与获取最新插入数据ID实例

    ThinkPHP写数组插入与获取最新插入数据ID实例

    这篇文章主要介绍了ThinkPHP写数组插入与获取最新插入数据ID的方法,实例讲述了ThinkPHP基于数组操作数据库的方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • Thinkphp5框架简单实现钩子(Hook)行为的方法示例

    Thinkphp5框架简单实现钩子(Hook)行为的方法示例

    这篇文章主要介绍了Thinkphp5框架简单实现钩子(Hook)行为的方法,结合实例形式详细分析了Thinkphp5框架实现钩子(Hook)行为的步骤与相关操作技巧,需要的朋友可以参考下
    2019-09-09

最新评论