• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点_php技巧

php 搞代码 3年前 (2022-01-26) 11次浏览 已收录 0个评论
 <BR>// 定义全局变量 记录时间 <BR>$_timer_id = 0; <BR>// 函数设置全局变量 记录各个断点的运行所需时间 <BR>function makeTimer( $notes, $onOff=FALSE ) <BR>{ <BR>if( $onOff ) <BR>{ <BR>global $_timer_id; <BR>$GLOBALS['timer'][$_timer_id][0] = microtime(TRUE); <BR>$GLOBALS['timer'][$_timer_id][1] = $notes; <BR>$_timer_id++; <BR>} <BR>} <BR>// 把全局运行时间情况输出 <BR>function traceTimer() <BR>{ <BR>$timer_str = ''; <BR>$G_timer = count($GLOBALS['timer'])-1; <BR>if( $G_timer>0 ) <BR>{ <BR>for( $i=0;$i<$G_timer;$i++ ) <BR>{ <BR>$dif_time = number_format( ($GLOBALS['timer'][$i+1][0] - $GLOBALS['timer'][$i][0]), 3 ); <BR>$timer_str .= 'dif: '.$dif_time.' '.$GLOBALS['timer'][$i][1]."\n"; <BR>} <BR>$dif_time = number_format( (microtime(TRUE) - $GLOBALS['timer'][$G_timer][0]), 3 ); <BR>$timer_str .= 'dif: '.$dif_time.' '.$GLOBALS['timer'][$G_timer][1]."\n"; <BR>} <BR>return $timer_str; <BR>} <BR>使用方法: <BR>// 开始时间 <BR>makeTimer( ' LINE:'.__LINE__ ); <BR>$imgstrpos = strpos($str, 'makeTimer( ' LINE:'.__LINE__ ); <BR>$str_p = substr($str_noimg, 0, $imgstrpos); <BR>makeTimer( ' LINE:'.__LINE__ ); <BR>$str_n = substr($str_noimg, $imgstrpos, strlen($str_noimg)); <BR>makeTimer( ' LINE:'.__LINE__ ); <BR>$pst_exc_imgs = $str_p.''.$str_n." "; <BR>makeTimer( ' LINE:'.__LINE__ ); <BR>// 记录到日志中 <BR>error_log( traceTimer(), 3, '/tmp/'.basename(_<strong style="color:transparent">本&文来源gao@daima#com搞(%代@#码网@</strong><textarea>搞gaodaima代码</textarea>_FILE__).'.log' ); <BR>// 或者直接输出 <BR>echo traceTimer(); <BR>


at 2010-05-14 09:20


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址