【ThinkPHP框架教程·Part-03】开启调试与配置文件

简介: 本章节介绍如何开启系统的调试功能及理解框架配置信息。开发阶段建议开启调试模式,通过修改 `.env` 文件中的 `APP_DEBUG=true` 实现。调试模式能提高排错能力,但会影响执行效率,生产环境应关闭。调试开启后,页面右下角会出现 Trace 调试图标。此外,还介绍了两种配置文件形式(`.env` 和 `config`),以及它们的优先级和获取方式。本地测试时 `.env` 优先于 `config`,部署后则忽略 `.env`,使用 `config` 配置。

本章节我们来开启一下系统的调试功能,以及简单理解下框架配置信息。

一、开启调试

在开发阶段,我们建议开启框架的调试模式。调试模式开启后,会牺牲一些执行效率,但大大提高了开发排错的能力。当项目部署到生产环境时,再关闭调试模式即可。

安装好的 TP6.0 默认并没有开启调试,可以在域名后面胡乱输入字符回车;

此时,页面只会提示:“页面错误,请稍后再试~”,表示调试未开启;

1、开启详细调试信息

通过命令行安装的 TP6.0,会自动在根目录生成一个.example.env 文件;

这个.env 文件是环境配置文件,我们只要删除前面的.example即可生效;

此时,刷新页面,右下角会出现Trace调试小图标,说明调试开启了;

查看.env 文件,打开调试的环境变量为APP_DEBUG = true,false 关闭;

2、仅开启简要调式信息

还有一种模式,就是关闭调试的时候,也可以显示简要的错误信息;

首先,关闭调试模式:APP_DEBUG = false;

然后,根目录下 config 的 app.php 最后一样设置为: 'show_error_msg' => true,

3、开启调式模式的优势

  • 记录系统运行流程的执行过程;
  • 展示错误和调试信息,并开启日志记录;
  • 模版修改可以及时生效(不会被缓存干扰);
  • 启动右下角的 Trace 调试功能,更加强大;
  • 发生异常时,也会显示异常信息;

二、配置信息

1、配置文件的两种形式

配置文件有两种形式,开启调试我们采用的.env 文件这是一种,适合本地;

另一种配置文件,在根目录下的 config 里,有很多类型的配置,适合部署;

官方手册明确表示:.env 环境变量用于本地开发测试,部署后会被忽略;

2、配置文件中值的获取

那么,我们怎么去获取这些配置文件的值呢?

  • 对于.env 文件,比如[DATABASE]下的 HOSTNAME = 127.0.0.1 获取方式如下
use think\facade\Env; 
return Env::get('database.hostname');
  • 对于 config 文件,比如 database.php 下的 hostname,获取方式如下:
use think\facade\Config; 
return Config::get('database.connections.mysql.hostname');

也可以判断这两种文件的配置是否存在,使用has方法判断:

echo Env::has('database.hostname'); 
echo Config::has('database.connections.mysql.hostname');

3、两种配置文件的优先级

关于这两种配置文件的优先级,在本地测试时.env优先于config。

从config配置中可以看出,它是先读取.env的,然后再默认配置一个自己的:

而到了部署环境,.env 会被忽略,则自动切换到 config 配置。


相关文章
|
7月前
|
弹性计算 Linux Go
阿里云服务器使用宝塔部署go项目(完整步骤)
本文详解Go项目在阿里云ECS上的三种部署方式:1)手动配置(安装Go环境、编译运行);2)Docker镜像化部署(本地构建+推送Docker Hub+服务器拉取运行);3)直接上传预编译二进制文件。含宝塔面板安装、安全组配置、LNMP/LAMP选型等实操步骤。(239字)
|
7月前
|
缓存 人工智能 运维
2026 最新版 OpenClaw 完整汉化教程,Windows 一键安装全流程(包含新安装包)
本教程针对 2026 最新版 OpenClaw 制作,提供集成式一键安装包,内置中文语言文件、运行环境与依赖组件,无需手动配置环境变量、无需输入任何命令代码,从安装到汉化一站式完成,适合所有 Windows 用户,小白也能轻松跟着操作。
|
存储 人工智能 API
Qoder 正式开放订阅,Credits 耐用度提升1/3
Qoder 自 2025 年 8 月 21 日公测以来,以最强的上下文工程能力以及 Repo Wiki、Quest Mode 等广受好评的产品功能,收获了全球开发者的支持和喜爱。今天,Qoder 面向全球用户正式推出付费订阅计划,助力开发者开启高效流畅的编程之旅。
11275 2
|
前端开发 PHP
ThinkPHP6,视图的安装及模板渲染和变量赋值 view::fetch() ,view::assgin() ,助手函数
本文介绍了ThinkPHP6中视图的安装和使用,包括通过`composer`安装`topthink/think-view`,使用`view::fetch()`进行模板渲染和变量赋值,以及使用`view::assign()`进行全局模板变量赋值。还提到了助手函数作为`view::fetch()`和`view::assign()`的封装组合,但效率较低。
ThinkPHP6,视图的安装及模板渲染和变量赋值 view::fetch() ,view::assgin() ,助手函数
|
前端开发 JavaScript 应用服务中间件
前端跨域问题解决Access to XMLHttpRequest at xxx from has been blocked by CORS policy
跨域问题是前端开发中常见且棘手的问题,但通过理解CORS的工作原理并应用合适的解决方案,如服务器设置CORS头、使用JSONP、代理服务器、Nginx配置和浏览器插件,可以有效地解决这些问题。选择合适的方法可以确保应用的安全性和稳定性,并提升用户体验。
10047 90
|
SQL 关系型数据库 MySQL
MySQL 8.0报错--1118-Row size too large. The maximum row size for the used table type, not counting BLOBs,is 8126,
MySQL 8.0报错--1118-Row size too large. The maximum row size for the used table type, not counting BLOBs,is 8126,
2709 56
MySQL 8.0报错--1118-Row size too large. The maximum row size for the used table type, not counting BLOBs,is 8126,