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


相关文章
|
17小时前
|
PHP Apache
【ThinkPHP框架教程·Part-04】URL访问模式
本章节介绍 ThinkPHP6.0 的 URL 访问模式,解析其访问方法。ThinkPHP 框架通过 URL 实现多种操作,默认为单应用模式。
【ThinkPHP框架教程·Part-04】URL访问模式
|
5月前
|
小程序 PHP
全新UI自助图文打印系统小程序源码 PHP后端 附教程
全新UI自助图文打印系统小程序源码 PHP后端 附教程
287 2
|
存储 安全 搜索推荐
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
641 0
|
XML 开发框架 JavaScript
【web 开发基础】php 开发基础快速入门 (3)-PHP程序符号标记和程序注释的使用及空白符详解
以<?php开始和以 ?>结束的标记是标准风格的标记,属于xml风格,这也是PHP推荐使用的标记形式,服务器管理员不能禁用这种风格的标记,如果将PHP嵌入到XML或者XHTML中,则需要使用<?php?>以保证符合标准,如果没有特殊要求,在开发过程中一般默认使用此风格. 以<script language="php">开始和以</script>结束是长风格标记,这种标记是最长的,这种用法就是javascript和vbscript等脚本语言的写法,如果你使用的html编辑器无法使用其他风格的标记可以使用这个标记来界定PHP代码,不过这在日常开发中是比较少用的. 以<?开始和以?>结束的标记是最简
255 1
|
开发者
webpack进阶篇(二十八):优化构建时命令行的显示日志
webpack进阶篇(二十八):优化构建时命令行的显示日志
574 0
webpack进阶篇(二十八):优化构建时命令行的显示日志
|
Apache 开发工具 SEO
Apache Typecho框架启用地址重写
地址重写有利于SEO优化,开启地址重写可以去掉Typecho框架中的index.php后缀,该后缀如下。
359 0
Apache Typecho框架启用地址重写
|
搜索推荐 JavaScript 前端开发
python接口自动化(十八)--重定向(Location)(详解)
在实际工作中,有些接口请求完以后会重定向到别的url,而你却需要重定向前的url。URL主要是针对虚拟空间而言,因为不是自己独立管理的服务器,所以无法正常进行常规的操作。但是自己又不希望通过主域名的二级目录进行访问,而 是希望通过主域名的二级域名进行访问。所以这个时候就会用到URL重定向。
229 0
python接口自动化(十八)--重定向(Location)(详解)
|
前端开发 JavaScript
webpack进阶篇(十四):自动清理构建目录
webpack进阶篇(十四):自动清理构建目录
154 0
|
C++
VS平台的基本设置以及相关报错问题解决方法
在刚开始学习编程后,期间总会遇到问题,以前都是记录下来没有整理。现在积少成多,也乘着有空就在这里给整理一下。
170 0
|
.NET C# 开发框架
【技术贴】c# asp.net 无法直接启动带有“类库输出类型”的项目 若要调试此项目,请在此解决方
c# asp.net 无法直接启动带有“类库输出类型”的项目 若要调试此项目,请在此解决方案中添加一个引用库项目的可执行项目。将这个可执行项目设置为启动项     解决办法: 右键解决方案-&gt;属性-&gt;通用属性-&gt;启动项目-&gt;单启动项目-&gt;选择Web项目
2092 0