被子外面很危险!

向浏览器控制台打印PHP加载耗时

因为主题自己个人改造美化的需要,每次加载耗时会影响页脚排版,因此将加载耗时打印到控制台以供查看。

因为开启了 Pjax ,所以想每次都打印,就需要把 pjax_debug_to_console(timer_stop()) 放到 Pjax 回调函数里面。由于不熟悉 PHP ,因此还是打算把代码放出来进行讨论,Pjax 执行回调之后,只会打印的是第一次打开的页面的 PHP 加载时间,没有办法打印当前页面的加载时间。

看来得补习一下 PHP 了 〒▽〒

如果没有开启 Pjax 的需要使用 debug_to_console(timer_stop()) 就行了。

创建 PHP 函数

function timer_start() {
    global $timestart;
    $mtime     = explode( ' ', microtime() );
    $timestart = $mtime[1] + $mtime[0];
    return true;
}
timer_start();
function timer_stop( $display = 0, $precision = 3 ) {
    global $timestart, $timeend;
    $mtime     = explode( ' ', microtime() );
    $timeend   = $mtime[1] + $mtime[0];
    $timetotal = number_format( $timeend - $timestart, $precision );
    $r         = $timetotal < 1 ? $timetotal * 1000 . " ms" : $timetotal . " s";
    if ( $display ) {
        echo $r;
    }
    return $r;
}
function debug_to_console( $data ) {
    $output = $data;
    echo "<script>console.log( '加载耗时: " . $output . "' );</script>";
}
function pjax_debug_to_console( $data ) {
    $output = $data;
    echo "console.log( '加载耗时: " . $output . "' );";
}

单次打印加载耗时

<?php debug_to_console(timer_stop()) ?>

Pjax 回调函数中使用

<?php pjax_debug_to_console(timer_stop()) ?>

效果

向浏览器控制台打印PHP加载耗时

https://blog.lkurococ.top/post/LoadingTime2Console.html

作者

Kurococ Liu

发布时间

2021年09月28日

许可协议

CC BY 4.0

添加新评论