ThinkPHP 3.2 获取页面运行时间
在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