【发布时间】:2019-03-02 14:53:45
【问题描述】:
昨天是我第一次在自己的服务器上使用 Symfony 4 进行部署。阅读 official documentation 关于部署,我引用:
大多数 Symfony 应用程序从环境中读取它们的配置 变量。在本地开发时,您通常会将这些存储在 .env 文件。但在生产中,您无需创建此文件,而是 应该设置真正的环境变量。
现在,由于我在多个网站上了解到这是在生产中工作的正确方式,我对此有几个疑问:
- 生产环境变量的含义是什么?为什么不把变量放在 Wordpress、Django 等文件中?
- 为什么我希望将项目数据库的凭据放在全局 OS 变量中???
- 作为全局变量,操作系统中的所有人都可以访问,如果我有多个具有相同环境变量的项目(例如,Symfony 中的
APP_ENV),更改其值将影响我的所有项目!这有意义吗?
如果有人能对这个主题有所了解,我将不胜感激。
对不起我的英语
【问题讨论】:
-
下面有一些很好的答案。这可能不是很明显,但使用 env 变量将允许在不重建 Symfony 缓存的情况下更改变量。在某些情况下有用的功能。您总是可以老去,只需使用 parameters.yaml 文件并在有任何变化时重建缓存。
-
当然!谢谢!
-
在生产系统上放置一个 .env 文件也可以。确保环境中没有设置 APP_ENV 等,它将像本地一样被选择。永远不要将该文件提交到 GIT 中。
标签: php symfony deployment environment-variables