【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 配置


相关文章
|
运维 Java Nacos
nacos常见问题之读取不到配置文件如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
6657 2
|
Ubuntu Linux 时序数据库
|
Linux 数据库
【Openstack】排错:Glance服务安装后HTTP 500解决
在搭建Openstack平台时,装完各个组件后发现了glance无法正常使用
2982 0
【Openstack】排错:Glance服务安装后HTTP 500解决
|
7月前
|
安全 Unix Linux
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
48403 65
|
存储 Java 开发工具
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
阿里云OSS(Object Storage Service)是一种安全、可靠且成本低廉的云存储服务,支持海量数据存储。用户可通过网络轻松存储和访问各类文件,如文本、图片、音频和视频等。使用OSS后,项目中的文件上传业务无需在服务器本地磁盘存储文件,而是直接上传至OSS,由其管理和保障数据安全。此外,介绍了OSS服务的开通流程、Bucket创建、AccessKey配置及环境变量设置,并提供了Java SDK示例代码,帮助用户快速上手。最后,展示了如何通过自定义starter简化工具类集成,实现便捷的文件上传功能。
2834 7
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
|
机器学习/深度学习 存储 算法
机器学习面试笔试知识点-决策树、随机森林、梯度提升决策树(GBDT)、XGBoost、LightGBM、CatBoost
机器学习面试笔试知识点-决策树、随机森林、梯度提升决策树(GBDT)、XGBoost、LightGBM、CatBoost
1075 0
|
小程序 JavaScript API
Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ?
Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ?
971 0
|
NoSQL 前端开发 Redis
Windows 下安装和配置 Redis (图文教程)
Windows 下安装和配置 Redis (图文教程)
|
安全 Linux 网络安全
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
117719 0
|
12月前
|
应用服务中间件 Shell PHP
thinkphp 设置运行目录为/public后 404错误
thinkphp 设置运行目录为/public后 404错误