时间:2021-05-26
本文所述为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中设置
希望本文所述方法对大家有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
网站程序开发过程经常需要调试,发布阶段也需要记录运行日志,方便发现问题和还原事件。这就要求有调试和日志记录功能。下面分别写了用于调试的函数和用于记录错误的函数。
任何一个系统都需要日志记录功能,以便开发调试,线上环境追溯问题。常用的日志记录框架Log4j。其是apache的一个开源日志组件。#生产环境使用info#log
本文实例讲述了THINKPHP项目开发中的日志记录用法。分享给大家供大家参考。具体方法如下:1、建立日志表复制代码代码如下:CREATETABLE`logs`(
概述今天遇到一个问题,Ubuntu+Nginx+MySQL配置ThinkPHP的项目,做了一半发现,Nginx不支持ThinkPHP的PATH_INFO模式,百
多年的经验,日志记录是软件开发的重要组成部分。没有日志记录机制的系统不是完善的系统。在开发阶段可以通过debug附件进程进行交互调试,可以检测到一些问题,但是在