如何更好地设置Laravel项目的生产环境设置?

时间:2015-10-13 23:20:38

标签: php heroku laravel-5 production-environment

如文档中所述,Laravel 5使用名为DotEnv的 cool 系统。它使我们能够配置项目中可用的各种环境变量。由于它可能包含密钥,因此应在源代码中忽略它。

此外,由于其名称是默认名称,因此每台计算机/开发人员都应拥有自己的.env文件 麻烦来了:首先,这是一个私人项目。所以我真的不介意在存储库中存储密钥。其次,从其他框架(Symfony?Yii?)开始,我常常为prod / stg / dev环境设置单独的设置。但由于文件是唯一的,这是不可能的。最后,我不想弄乱生产机器。

设置这些内容的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

通常使用.gitignore文件从存储库中排除.env文件,以便针对不同的环境对其进行不同的配置。

您可以创建多个.env文件,并手动将其上传到您的登台/测试/生产环境。您只需要执行一次,然后根据您的环境更改设置。

一旦到位,您的存储库中的未来部署将不会部署您的.env文件,您的环境将具有单独的配置。

答案 1 :(得分:0)

多年过去了,经过一些经验,我仍然可以说两种方法(被忽略和未被忽略)的env文件都有其优点。

对于私有项目,Laravel的最佳方法是将共享密钥与.env.example一起保存,以及合理的默认值(例如APP_ENV=prodAPP_DEBUG=false)并留给开发人员安装项目任务以配置其中一些变量,以及那些变量为空(即记录通道或个人密钥)。