5

Symfony 自 Symfony 3 以来引入了一个新的 Dotenv 组件,它允许我们将环境变量作为应用程序参数来处理。这看起来非常好,这是根据12factor app manifesto遵循的最佳实践。

现在,关于 Symfony 4,他们进一步推动了这种做法,这就是我开始通过.env文件使用环境变量的原因。

然后我想部署,我意识到.env文件不能保存在服务器上,因为它与拥有parameters.yml文件相同。

所以我一直在深入研究文档,发现这篇文章解释了我们可以通过一些网络服务器指令直接创建环境变量。这对于通过 FPM 执行的代码非常有用,但它并没有告诉我们在通过 CLI 运行命令时如何处理环境变量。

我怎样才能做到这一点?是否应该在某处存储等效的.env文件?但是参数会重复吗?

我欢迎任何帮助;)

4

1 回答 1

0

终于有时间检查Neodan发布的链接 ,一切都在那里!

因此,对于那些想知道该怎么做的人,只需编辑/etc/environment文件并添加变量即可。然后重新启动您的服务器,您的所有进程都可以访问这些变量。

我想这是最简单的解决方案。这种方法的唯一缺点是任何进程/用户都可以使用这些变量,但就我而言这没关系。

如果你想要一个更安全的解决方案,我想你可以像我之前所说的那样,配置你的网络服务器以添加环境变量并通过你的.bash_profile.bashrc文件导出它们,但要小心你如何启动你的 shell(在部署你的应用程序时)例如)。我会说,维护起来更复杂,而且容易出错。

注意:您可能还需要注意如何命名变量以防止冲突。

于 2018-01-17T12:30:17.750 回答