php测试代码执行时间,php debug记录程序执行时间和执行情况
/**
*?debuging('dtrace');?//查看調(diào)用棧
*?debuging($var);?//打印$var(var_dump)
*?debuging($var,?'php');?//打印$var(var_export)
*?debuging($var,?$echo,?2);?//以json格式輸出$var
*?debuging(__LINE__.__CLASS);//常用于大量if語句體定位,?或者尋找程序結(jié)束點
*/
function?debuging($var?=?'',?$echo?=?'',?$die?=?false,?$force?=?false)?{
static?$clear;
if?(0?&&?$clear?===?null)?{
ob_end_flush?();
$clear?=?true;
}
static?$d;
if?(0?&&?empty?(?$d?))?{
$d?=?1;
debuging?(?'dtrace'?);
}
$force?&&?$_GET?['debug']?=?1;
if?(isset?(?$_GET?['debug']?))?{
if?('dtrace'?===?$var)?{
dTrace?(?$die?);
}?elseif?($die?===?2)?{
header?(?'Content-type:?application/json'?);
echo?json_encode?(?$var?);
}?else?{
echo?"
\n";if?($echo)?{
echo?"$echo:";
}
if?($echo?===?'php')
var_export?(?$var?);
else
var_dump?(?$var?);
echo?"
\n";}
$die?&&?die?();
}
}
function?dTrace($die?=?false)?{
try?{
static?$lastTime;
$lastTime?or?$lastTime?=?$_SERVER?['REQUEST_TIME'];
throw?new?Exception?();
}?catch?(?Exception?$e?)?{
$currTime?=?microtime?(?true?);
$totalTime?=?$currTime?-?$_SERVER?['REQUEST_TIME'];
$execTime?=?$currTime?-?$lastTime;
$lastTime?=?$currTime;
echo?"\n
\n";
echo?"execTime:?$execTime?s.
\n";
echo?"totalTime:?$totalTime?s.
\n";
echo?"Trace:
\n";
//?echo?$e->getTraceAsString()?;
//?debug_print_backtrace();$die?&&?die;
debuging?(?$e->getTraceAsString?(),?'php',?$die?);
}
}
for($i=0;$i<100000;$i++)?{
$a?+=$i;
}
dTrace();
總結(jié)
以上是生活随笔為你收集整理的php测试代码执行时间,php debug记录程序执行时间和执行情况的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php基础面试选择题,php面试之jav
- 下一篇: vue php axios 跨域,在vu