php页面trace,ThinkPHP 调试模式页面 Trace 信息

页面 Trace 信息

页面 Trace 信息如前文两幅截图所示,包括了运行时间、页面地址、请求协议、运行信息、会话ID、日志记录、加载的文件列表等信息。根据这些信息,在出现问题时有助于我们排解问题所在,也可以帮助我们优化系统。

运行信息

在上面的截图中,限于篇幅,运行信息并不完整。本例中完整的运行信息如下:

运行信息 : Process: 0.0873s ( Load:0.0093s Init:0.0200s Exec:0.0321s Template:0.0259s ) | DB :2 queries

0 writes | UseMem:1,907 kb | LoadFile:36 | CallFun:50,1322

该信息显示了页面整体运行的时间(加载、初始化、执行、模板等)、数据库查询与写入次数、使用的内存、加载的文件数目以及函数调用数目(50自定义,1322内置)。

提示:在调试模式和生产部署模式下,二者性能是有明显差异的。同样的环境,部署模式下,运行时间可能只有调试模式的 1/5 - 1/10 ,加载的文件也只有调试模式的一半左右。

日志记录

日志记录部分记录了系统运行的日志,其中比较有用的是 SQL 运行记录以及一些 PHP 的原生错误信息,会在这个地方显示出来。如果出现问题,可以根据这些信息来诊断问题所在。

加载文件

加载文件部分显示了框架加载的文件列表,可以根据加载文件列表初步判断,是否有需要加载的文件没有被加载(如:模型文件,项目函数文件等)。

Trace 信息模板定制

页面 Trace 信息的显示模板是可以定制的,默认位于 ThinkPHP 系统目录的 Tpl/page_trace.tpl文件。可以根据项目自身的需要定制,在项目配置或者调试配置里配置 TMPL_TRACE_FILE 参数即可:

'TMPL_TRACE_FILE'=> APP_PATH.'Tpl/page_trace.php'

提示:原文件是 tpl 后缀名的文件,建议更改为 php 后缀名的文件,ThinkPHP 默认的 Trace 模板代码如下:

页面Trace信息

<?php $_trace = trace();foreach ($_trace as $key=>$info){

echo $key.' : '.$info.'
';

}?>

可以根据需要对该模板进行定制。

Trace 信息显示定制

页面 Trace 信息也可以进行定制显示,可以在项目配置或调试配置文件里对相关参数进行配置,具体如下所示:

'SHOW_ADV_TIME' => true,// 是否显示详细的运行时间

'SHOW_DB_TIMES' => true,// 显示数据库查询和写入次数

'SHOW_CACHE_TIMES' => true,// 显示缓存操作次数

'SHOW_USE_MEM' => true,// 显示内存开销

'SHOW_LOAD_FILE' => true,// 显示加载文件数

'SHOW_FUN_TIMES' => true,// 显示函数调用次数

扩展 Trace 信息

如果需要扩展自己的 Trace 信息,有下面两种方式:

第一种方式:在当前项目的配置目录下面定义 trace.php 配置文件,例如:

return array(

'当前操作' => ACTION_NAME,

'当前模块' => MODULE_NAME,

);

定义完 trace.php 文件之后,系统会自动把这个定义合并到 Trace 信息里而输出:

当前操作 : index

当前模块 : Index

当然也可以对已经定义的 Trace 信息在 trace.php 文件里重新定义,重新定义后的信息会覆盖原来的信息:

'当前页面' => $_SERVER,

这种方式通常用于 Trace 项目的公共信息。

第二种方式:在操作里面使用 trace 方法来增加 Trace 信息,这种方式适用于 Trace 当前操作的特定信息:

$Dao = M('User');

$user_list = $Dao->select();

$last_sql = $Dao->getLastSql();

trace('执行SQL',$last_sql);

Trace 信息里而输出如下:

执行SQL : SELECT * FROM `my_user`

当前操作 : index

......

提示:这种方式的 Trace 信息总是显示在页面 Trace 信息的最开始,trace 方法也常用于断点调试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值