在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
转载请注明出处
《ThinkPHP 3.2 获取页面运行时间》https://www.ywlib.com/archives/21.html (from 一闻自习室)