首页 > 技术文章 > ThinkPHP 3.2 获取页面运行时间

dy09 2016-02-19 18:18 原文

在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

 

推荐阅读