Thinkphp调试

作者: gogocheng | 来源:发表于2017-10-12 16:47 被阅读0次

    Thinkphp调试主要有以下四种方法

    (一).跟踪信息

    (二).两种模式

    (三).sql调试

    (四).性能调试

    下面就来一一介绍:

    1.跟踪信息(SHOW_PAGE_TRACE)

    跟踪信息需要在当前模块中设置,在主配置文件中不存在,默认是关闭(false),使用时要开启(true);

    开启之后运行程序就会有跟踪信息在页面下面出现跟踪信息

    点击这个小图标就会显示更多的信息,框架加载的时间以及加载的文件等一目了然。

    2.两种模式(APP_DEBUG)

    所谓两种模式,就是指开发(调试)模式和生产模式。

    开发模式:在开发调试阶段使用。

    生产模式:在项目上线时使用。

    在入口文件中开启APP_DEBUG

    开启APP_DEBUG后,跟踪信息如下

    关闭APP_DEBUG,跟踪信息如下

    可以看到,在开启APP_DEBUG后,程序的执行时间大幅度降低,但是内开销和文件的加载数目要比关闭APP_DEBUG时多一点。

    总结:生产模式下文件的加载数会变小,系统函数库不会加载,系统的配置文件,应用配置文件不会加载,但是会多一个缓存文件,没有加载的

    文件都会放在这个缓存文件中。生产模式下使用缓存文件,效率上要比调试模式高。如果在生产模式下修改配置文件,应用配置文件,系统函数

    库都不会生效,,因为在生产模式中上述文件没有加载。如果想让它生效,可以删除缓存文件或者开启APP_DEBUG去修改,完成后换回生产模

    式。

    3.sql调试

    Thinkphp在执行CURD操作是让开发者写方法,并不是很直观的展现sql。使用

    获取最后一条执行成功的sql语句。在3.2版本之后,getlastsql()可以写成_sql

    4.性能调试

    G()方法:

    语法:

    G('begin','end') 表示统计begin位置到end位置的执行时间(单位是秒),begin必须是一个已经标记过的位置,如果这个时候end位置还没被标记

    过,则会自动把当前位置标记为end标签,输出的结果类似于:0.0056s

    手册也有说明,如下图

    相关文章

      网友评论

        本文标题:Thinkphp调试

        本文链接:https://www.haomeiwen.com/subject/nvxoyxtx.html