Laravel 配置:环境变量 .env
.env 文件
一般 Web 商业项目有以下几个运行环境:
- 我的开发环境
- 队友的开发环境
- 线上测试环境
- 生产环境
开发时会出现以下情况:
- 本地数据库的配置信息,很多时候与线上不一致,需要区分配置;
- 本地环境的站点 URL 的不一致,如生产环境是
learnku.com
, 线上测试环境是staging.learnku.com
, 而本地是learnku.test
; - 因为本地与线上域名不同,GitHub 登录申请的 OAuth Key 和 Secret 也会不同,这些需要分开配置;
- 开源项目的话,一般代码里绝不存放第三方服务提供的 Key 和 Secret,那这些认证信息应该存放在哪里?
这些信息都必须区分环境进行配置,并且这些配置的信息都不需要放入版本控制器如 Git 中。
在新安装好的 Laravel 应用程序中,根目录会包含一个 .env.example
文件。如果是通过 Composer 安装的 Laravel,该文件会自动复制副本 .env
。否则,需要你手动复制一份:
$ cp .env.example .env
两个文件的区别
.env.example
存储着环境变量的 KEY,这个文件需要放置到 Git 里。应用程序不会读取此文件,此文件只做不同环境的信息传递,如果某个环境里新增了环境变量 KEY,你可以在 Git 修改日志里查看到。.env
存放着应用程序的环境变量,因此文件专属于不同环境,故不需要 Git 版本控制。
Laravel 默认自带了很多环境变量信息,开始之前推荐详细学习下。可以利用编辑器的搜索功能,搜索环境变量的 Key,如
APP_DEBUG
,即可找到此环境变量在项目中的使用情况。
推荐文章: