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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更好地设置Laravel项目的生产环境设置?相关的知识,希望对你有一定的参考价值。

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

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

设置这些东西的最佳方法是什么?

答案

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

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

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

另一答案

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

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

以上是关于如何更好地设置Laravel项目的生产环境设置?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 项目设置

Laravel:如何设置带有条件的自定义列?

如何为生产和开发环境 iOS 设置不同的证书和配置文件?

设置Django生产环境系统重启后的自动启动项

如何使用 laravel artisan 设置 env 以拥有两个不同的数据库连接(本地/远程)?

如何在 Laravel 4 上设置不同的环境?