🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
ThinkPHP有专门为开发过程而设置的调试模式,开启调试模式后,会牺牲一定的执行效率,但带来的方便和除错功能非常值得。 > 我们强烈建议ThinkPHP开发人员在开发阶段始终开启调试模式(直到正式部署后关闭调试模式),方便及时发现隐患问题和分析、解决问题。 应用默认开启调试模式,在完成开发阶段部署到生产环境后,可以修改应用配置文件的`app_debug`参数关闭调试模式切换到部署模式。 ~~~ // 关闭调试模式 'app_debug' => false, ~~~ 除此之外,还可以在应用的`ROOT_PATH`目录下面定义`.env`文件,并且定义`APP_DEBUG`配置参数用于替代入口文件的常量定义,这样便于在部署环境中设置环境变量来开启和关闭调试模式。 `.env`文件的定义格式如下: ~~~ // 设置开启调试模式 app_debug = true // 其它的环境变量设置 // ... ~~~ > 定义了`.env`文件后,配置文件中定义`app_debug`参数无效。 调试模式的优势在于: - 开启日志记录,任何错误信息和调试信息都会详细记录,便于调试; - 会详细记录整个执行过程; - 模板修改可以即时生效; - 记录SQL日志,方便分析SQL; - 通过Trace功能更好的调试和发现错误; - 发生异常的时候会显示详细的异常信息; > 由于调试模式没有任何缓存,因此涉及到较多的文件IO操作和模板实时编译,所以在开启调试模式的情况下,性能会有一定的下降,但不会影响部署模式的性能。另外需要注意的是,一旦关闭调试模式,项目的调试配置文件即刻失效。 一旦关闭调试模式,发生错误后不会提示具体的错误信息,如果你仍然希望看到具体的错误信息,那么可以如下设置: ~~~ // 显示错误信息 'show_error_msg' => true, ~~~