CakePHP 1.3: Измерение времени выполнения страницы - PullRequest
2 голосов
/ 18 января 2011

Нужно выяснить, как измерить общее время выполнения PHP сайта CakePHP.Похоже, что в 1.2 это было включено в визуализированный HTML как комментарий HTML в режиме отладки, но этого не происходит на моем сайте 1.3, и в любом случае я хочу, чтобы это был элемент, который я могу выводить пользователю, а некомментарий.

Я могу сделать это легко в обычном PHP, используя microtime (), но я не уверен, куда добавить код в CakePHP, и я подозреваю, что в любом случае он может иметь более надежный таймер выполнения.Идеи?

Ответы [ 3 ]

5 голосов
/ 20 января 2011

На всякий случай, если кому-то еще интересно, я решил эту проблему, добавив следующий код в layout.ctp.Вы также можете сделать это в контроллере и передать его как переменную, которая может быть немного более классической для MVC, но я хотел, чтобы это было на каждой странице сайта без дублирования кода на каждом контроллере.

Page rendered in <?php echo round((getMicroTime() - $_SERVER['REQUEST_TIME']) * 1000) ?>ms.
1 голос
/ 23 марта 2012

Использовать Комплект отладки . Помимо других функций, вы можете получить общее время выполнения через

DebugKitDebugger::requestTime()
0 голосов
/ 07 ноября 2011

Возможно, это не самый правильный способ сделать это, но вы можете добавить следующий код PHP обратно в app / webroot / index.php (в самом конце). Затем, если у вас отладка на> 0, вы вернете старую функциональность 1.2.

if (Configure::read() > 0) {
    echo "<!-- " . round(getMicrotime() - $TIME_START, 4) . "s -->";
}
...