如文档中所述,Laravel 5使用名为DotEnv的 cool 系统。它使我们能够配置项目中可用的各种环境变量。由于它可能包含密钥,因此应在源代码中忽略它。
此外,由于其名称是默认名称,因此每台计算机/开发人员都应拥有自己的.env
文件
麻烦来了:首先,这是一个私人项目。所以我真的不介意在存储库中存储密钥。其次,从其他框架(Symfony?Yii?)开始,我常常为prod / stg / dev环境设置单独的设置。但由于文件是唯一的,这是不可能的。最后,我不想弄乱生产机器。
设置这些内容的最佳方式是什么?
答案 0 :(得分:0)
通常使用.gitignore
文件从存储库中排除.env
文件,以便针对不同的环境对其进行不同的配置。
您可以创建多个.env
文件,并手动将其上传到您的登台/测试/生产环境。您只需要执行一次,然后根据您的环境更改设置。
一旦到位,您的存储库中的未来部署将不会部署您的.env
文件,您的环境将具有单独的配置。
答案 1 :(得分:0)
多年过去了,经过一些经验,我仍然可以说两种方法(被忽略和未被忽略)的env文件都有其优点。
对于私有项目,Laravel的最佳方法是将共享密钥与.env.example
一起保存,以及合理的默认值(例如APP_ENV=prod
或APP_DEBUG=false
)并留给开发人员安装项目任务以配置其中一些变量,以及那些变量为空(即记录通道或个人密钥)。