有没有办法知道包含脚本的PHP函数需要多长时间?

时间:2017-11-03 17:09:13

标签: php performance time

我想知道是否有办法知道每个函数在我的PHP脚本中执行的时间?

该脚本包含的功能类似于(如果条件 - 用于循环 - 使用PDO连接到DB)。

例如我有类似的东西:

<?php
$link = $_POST['url'];
$links = array();

for($i = 1; i < 9; i++){
  array_push($links , $link . 'page' . $i);
}

foreach($links as $lin){
  //PDO connection to the DB , It's not written right
  $statement = 'SELECT * from links WHERE link = :zlink';
  zlink = $lin;
  $count = $statement->rowCount();
  if($count > 1){
    // do something
  }else{
    'INSERT INTO links WHERE link = :mlink';
    mlink = $lin;

    file_put_contents();
  }
}

以及更多其他功能,那么有可能知道每个功能需要多少?什么需要很长时间?

1 个答案:

答案 0 :(得分:0)

如果您想在不使用外部库的情况下完成此操作,请在代码中添加一个函数,如:

function splittime( $flag = NULL, $msg = ‘’, $output = TRUE ) {

  $ts = microtime( TRUE );

  if ( $output ) {

    if ( $flag ) {
      echo ( round( ( $ts - $flag ), 3 ) ) . " seconds - ";
    }

    echo $msg . ": " . date( 'H:i:s', $ts ) . ":" . ( round( ( $ts - intval( $ts ) ), 3 ) * 1000 ) . "<br><br>";

  }

  return $ts;

}

第一次在脚本中(或在另一个函数内部)调用该函数时,请按以下方式调用它:

$flag = splittime();

每次后续通话,请使用:

$flag = splittime( $flag );