Laravel 配置:环境变量 .env 0 个改进

.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,即可找到此环境变量在项目中的使用情况。

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 1
elesos

测试test完毕

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!