ThinkPHP 3.2 获取页面运行时间

发布时间:2015年08月07日 // 分类:代码 // 暂无评论

在ThinkPHP中,可以通过在config.php中配置'SHOW_PAGE_TRACE' =>true, 打开页面调试,实现页面载入时间的显示。但显示在页面右下角TP的LOGO显然不能适用于我们的生产环境。同时,ThinkPHP用于调试某段代码的运行时间的G函数也不一定适用。

在ThinkPHP的公共入口文件\ThinkPHP\ThinkPHP.php开头其实就有埋下开始运行时间的时间戳和内存用量。

//----------------------------------
// ThinkPHP公共入口文件
//----------------------------------

// 记录开始运行时间
$GLOBALS['_beginTime'] = microtime(TRUE);
// 记录内存初始使用
define('MEMORY_LIMIT_ON',function_exists('memory_get_usage'));
if(MEMORY_LIMIT_ON) $GLOBALS['_startUseMems'] = memory_get_usage();

因此,在ThinkPHP中要获取程序运行时间,只要在尾部获取时间戳,与开头的$GLOBALS['_beginTime']相减即可。

在需要显示程序运行时间的地方插入如下代码即可:

<?php echo(round(microtime(true)-$GLOBALS['_beginTime'],4).'s');?>

或者

Common\function.php中插入如下函数:

//计算执行耗费时间
function get_runtime(){
    $ntime=microtime(true);
    $total=$ntime-$GLOBALS['_beginTime'];
    return round($total,4);
}

在模板需要调用运行时间的位置直接调用函数即可:

{:get_runtime()}s

本文固定链接
https://www.ywlib.com/archives/21.html

标签
php, thinkphp, 时间

添加新评论 »

分类
随机文章
最新文章
最近回复
  • amos: 真管用!!!感谢版主
  • Kent: 优秀!
  • Kent: 关于页面里有我的邮箱
  • kincae: 你好,找了很多文档就你的这篇解决了我的问题,可以留个联系方式吗
  • xuesheng: phpredis版本的问题。 phpredis 5.3.0 fixed. * Use long...
  • Proxmox VE 6.1 配置源及关闭订阅提醒 - ZIMRI`Blog: [...]原文链接 https://www.ywlib.com/archives/150.ht...
  • 夏目贵志: 感谢解决困惑我2小时的问题!!!
  • Kent: 啊。。好的。。谢谢你
  • zhuohua liu: 你的网站被Norton Safe Web列为恶意网站,自动拦截的,去发个mail洗白吧,不然影...
  • typecho模板: 只调用随机文章的内容怎么操作啊?类似多思多金博主的你好污啊那种样子的