zoukankan      html  css  js  c++  java
  • Thinkphp开启调试模式

    3.0版本的调试模式开启,必须在项目入口文件中添加常量APP_DEBUG定义,如下:
    1. define('APP_DEBUG',True); // 开启调试模式
    开启调试模式后,你可能感觉不到什么变化,不管你信不信,调试模式已经开启了。
    因为,新版的调试模式并没有默认开启页面Trace(这个功能在之前的版本是伴随着调试模式自动开启的),现在页面Trace功能是单独设置的,哪怕你在部署模式下也可以单独开启页面Trace信息显示。总之,当你需要页面Trace信息功能的时候,手动配置开启,例如:
    1. 'SHOW_PAGE_TRACE'=>True,
    它与是否开启调试模式无关。
    那么,新版的调试模式到底有什么特点呢?我们来慢慢揭晓吧~

    调试配置

    说到调试模式,首先需要了解如何进行调试配置。虽然默认的调试配置文件已经可以满足大多数情况的需求。
    如果你开启了调试模式,系统会首先加载系统默认的调试配置文件,位于ThinkPHP/Conf/debug.php,如果你没有定义项目的调试配置文件的话,调试模式的参数就可以参考系统调试配置文件中的设置。默认调试配置参数如下:
    1. return  array( 
    2.     'LOG_RECORD'=>true,  // 进行日志记录
    3.     'LOG_EXCEPTION_RECORD'  => true,    // 是否记录异常信息日志
    4.     'LOG_LEVEL'       =>   'EMERG,ALERT,CRIT,ERR,WARN,NOTIC,INFO,DEBUG,SQL',  // 允许记录的日志级别
    5.     'DB_FIELDS_CACHE'=> false, // 字段缓存信息
    6.     'APP_FILE_CASE'  =>   true, // 是否检查文件的大小写 对Windows平台有效
    7.     'TMPL_CACHE_ON'    => false,        // 是否开启模板编译缓存,设为false则每次都会重新编译
    8.     'TMPL_STRIP_SPACE'      => false,       // 是否去除模板文件里面的html空格与换行
    9.     'SHOW_ERROR_MSG'        => true,    // 显示错误信息
    10. );
    系统调试配置中设置了:
    • 开启日志记录,任何错误信息和调试信息都会详细记录,便于调试;
    • 关闭模板缓存,模板修改可以即时生效;
    • 记录SQL日志,方便分析SQL;
    • 关闭字段缓存,数据表字段修改不受缓存影响;
    • 开启文件大小写严格检查(即使是Windows平台),帮助你提前发现Linux部署问题;
    调试模式的目的就是为了更加方便的发现、记录、分析和解决错误,而在部署模式下面,可能很多潜在的错误你根本发现不了,这些错误就像一颗定时炸弹,存在隐患。
    如果你觉得系统默认的调试配置不能满足你的需求,例如你想开启页面Trace信息显示的话,可以增加项目的调试配置文件,例如:
    1. return array(
    2.     'SHOW_PAGE_TRACE'  => True, // 显示页面Trace信息
    3. );
    项目调试配置文件中只需要添加和系统调试配置文件不同(增加或者修改)的参数,然后保存到项目的Conf/debug.php即可。
    一旦项目关闭调试模式,调试配置文件(包括系统调试配置文件和项目调试配置文件)就会失效,所有在调试配置文件中的参数将不会再起作用。同时,这个时候,系统又会按照惯例配置文件和项目配置文件中的参数配置来运行,因此你要懂得如何区别使用项目配置文件和项目调试配置文件。

    调试状态

    应用调试状态是新版新提出的一个概念,作用是在开启调试模式的状态下,可以给项目设置不同的应用状态,并自动加载不同的项目配置文件。可以当成是项目开发过程中的几个阶段,尤其是这些阶段需要同时或者交叉运行的时候,例如开发小组希望有自己的调试数据库和调试信息,而测试小组又希望有一个干净的测试环境,你不希望总是在更改项目配置文件或者调试配置文件。那么就可以为不同的阶段设置不同应用调试状态,并单独定义不同的配置文件。
    应用调试状态的更改是通过设置APP_STATUS参数,默认的参数设置是debug,如果想在调试模式下面增加应用状态,例如测试状态,则可以在项目配置文件中改变设置如下:
    1. 'APP_STATUS' => 'test', //应用调试模式状态
    这样的话,系统会自动尝试加载项目配置目录下面的test.php 配置文件,可以在test配置文件中改变相关设置,例如改变测试数据库的连接信息等等。

    总结

    通常情况下,调试配置文件里面可以进行一些开发阶段或者测试所需要的配置。例如,配置额外的数据库连接用于调试,开启日志写入便于查找错误信息、开启页面Trace输出更多的调试信息等等,所有这些,一旦关闭调试模式,都会失效。
    由于调试模式没有任何缓存,因此涉及到较多的文件IO操作和模板实时编译,所以在开启调试模式的情况下,性能会有一定的下降,但不会影响部署模式的性能。
  • 相关阅读:
    密钥学习
    MAP的计算方法(简单总结)
    模型量化技术(入门级理解,不涉及复杂公式和深入的原理)
    实现java非阻塞http请求的两种方式
    PIP安装软件报错:“ERROR: Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443)”
    Fiddler弱网测试
    Fiddler断点应用
    Fiddler基本介绍
    Fiddler安装及证书配置教程(Windows)
    URL统一资源定位符
  • 原文地址:https://www.cnblogs.com/shuangzikun/p/taotao_Tp_debug.html
Copyright © 2011-2022 走看看