Laravel中.env文件究竟有什么神奇作用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计672个文字,预计阅读时间需要3分钟。
不清楚大家是否思考过这样一个问题:既然有配置文件了,那这个.env文件具体有什么作用呢?我肯定有过类似的经历,因为本地环境和服务器环境是不一样的,所以有些配置值会有所不同,比如环境变量名。
不知道大家有没有考虑过这样一个问题:既然有配置文件了,那么这个.env文件的作用是什么呢?你肯定有这样的经历吧,本地环境和服务器环境是不同的,有些配置值就会不一样,比如数据库配置信息不同、域名不同等等。这样就会导致一些问题,如果你使用了版本控制系统,那么服务器端拉取了最新的代码,服务端的配置文件就会变为本地开发环境的了。然后你需要一个个的去看,然后去修改,是不是非常的麻烦!还有可能你本地的配置信息会被其他开发伙伴看到(可能你本地的数据库信息也很重要的话,你就不希望其他人知道)
.env文件就是为了解决这样的问题的。我们可以将服务器和本地环境配置项一致的,都放在配置文件中,将不同的配置项及那些敏感的信息则放在.env文件中。另外注意,不将.env文件放在版本控制系统中。
另外你应该注意到,根目录下还有一个.env.example文件。这个文件一般是建议放在版本控制系统中的,它是为了让其他开发者知道,你应该将这个文件复制一份,并将其名称修改为.env。然后将里面的值按照你自己的环境设定。
如果你和我一样,有三种不同的环境:开发环境、测试环境、线上环境。那么你还应该再创建一个.env.testing文件。当运行 PHPUnit 测试或以 --env=testing 为选项执行 Artisan 命令时,该文件将覆盖 .env 文件中的值。
超全局变量$_ENV
.env文件了列出的所有变量,会被加载到php的超全局变量$_ENV中,可以通过该变量检索相应的值。
本文共计672个文字,预计阅读时间需要3分钟。
不清楚大家是否思考过这样一个问题:既然有配置文件了,那这个.env文件具体有什么作用呢?我肯定有过类似的经历,因为本地环境和服务器环境是不一样的,所以有些配置值会有所不同,比如环境变量名。
不知道大家有没有考虑过这样一个问题:既然有配置文件了,那么这个.env文件的作用是什么呢?你肯定有这样的经历吧,本地环境和服务器环境是不同的,有些配置值就会不一样,比如数据库配置信息不同、域名不同等等。这样就会导致一些问题,如果你使用了版本控制系统,那么服务器端拉取了最新的代码,服务端的配置文件就会变为本地开发环境的了。然后你需要一个个的去看,然后去修改,是不是非常的麻烦!还有可能你本地的配置信息会被其他开发伙伴看到(可能你本地的数据库信息也很重要的话,你就不希望其他人知道)
.env文件就是为了解决这样的问题的。我们可以将服务器和本地环境配置项一致的,都放在配置文件中,将不同的配置项及那些敏感的信息则放在.env文件中。另外注意,不将.env文件放在版本控制系统中。
另外你应该注意到,根目录下还有一个.env.example文件。这个文件一般是建议放在版本控制系统中的,它是为了让其他开发者知道,你应该将这个文件复制一份,并将其名称修改为.env。然后将里面的值按照你自己的环境设定。
如果你和我一样,有三种不同的环境:开发环境、测试环境、线上环境。那么你还应该再创建一个.env.testing文件。当运行 PHPUnit 测试或以 --env=testing 为选项执行 Artisan 命令时,该文件将覆盖 .env 文件中的值。
超全局变量$_ENV
.env文件了列出的所有变量,会被加载到php的超全局变量$_ENV中,可以通过该变量检索相应的值。

