>  기사  >  백엔드 개발  >  php debug记录程序执行时间和执行情况

php debug记录程序执行时间和执行情况

WBOY
WBOY원래의
2016-06-20 12:53:231339검색

/** * debuging('dtrace'); //查看调用栈 * debuging($var); //打印$var(var_dump) * debuging($var, 'php'); //打印$var(var_export) * debuging($var, $echo, 2); //以json格式输出$var * debuging(__LINE__.__CLASS);//常用于大量if语句体定位, 或者寻找程序结束点 */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 "<pre class="brush:php;toolbar:false">\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
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.