PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

laravel中.env文件的作用

齐天大圣
齐天大圣 原创
2020-12-11 22:01:47 2365浏览

不知道大家有没有考虑过这样一个问题:既然有配置文件了,那么这个.env文件的作用是什么呢?

你肯定有这样的经历吧,本地环境和服务器环境是不同的,有些配置值就会不一样,比如数据库配置信息不同、域名不同等等。这样就会导致一些问题,如果你使用了版本控制系统,那么服务器端拉取了最新的代码,服务端的配置文件就会变为本地开发环境的了。然后你需要一个个的去看,然后去修改,是不是非常的麻烦!还有可能你本地的配置信息会被其他开发伙伴看到(可能你本地的数据库信息也很重要的话,你就不希望其他人知道)

.env文件就是为了解决这样的问题的。我们可以将服务器和本地环境配置项一致的,都放在配置文件中,将不同的配置项及那些敏感的信息则放在.env文件中。另外注意,不将.env文件放在版本控制系统中

另外你应该注意到,根目录下还有一个.env.example文件。这个文件一般是建议放在版本控制系统中的,它是为了让其他开发者知道,你应该将这个文件复制一份,并将其名称修改为.env。然后将里面的值按照你自己的环境设定。

如果你和我一样,有三种不同的环境:开发环境、测试环境、线上环境。那么你还应该再创建一个.env.testing文件。当运行 PHPUnit 测试或以 --env=testing 为选项执行 Artisan 命令时,该文件将覆盖 .env 文件中的值。

超全局变量$_ENV

.env文件了列出的所有变量,会被加载到php的超全局变量$_ENV中,可以通过该变量检索相应的值。

确定当前系统环境

应用程序当前的所处环境是由.env文件里的APP_ENV决定的。你可以用App::environment()方法来获取该选项的值。如:

if ('local' == App::environment()) {
    // 本地环境
}


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。