php – Symfony 4,.env文件和制作
.env文件非常方便docker,kubernetes等 但是,如果我有简单的nginx服务器没有任何编排和一包cron worker和一包守护进程(systemd / supervisord / etc)怎么办? 我找到了一个快速的解决方案:在生产中使用symfony / dotenv组件. 最佳答案
首先,并非所有变量都需要使用环境变量来指定.在单独的yaml文件中保留每个系统不同的变量.
如果每个服务器只有一个环境,则可以在/ etc / environment中全局指定环境变量. (根据你的Linux风格可能会有所不同) 我个人发现,当您在同一台服务器上运行多个环境时,使用DotEnv会比解决方案带来更多困难.在这种情况下,在/ etc / environment等全局配置中指定变量不起作用. 在nginx中指定环境变量也不是解决方案,因为正如您所提到的,它们不会被cron,supervisor,控制台等接收.对我来说,这就是完全删除DotEnv并使用它的原因.旧的参数.yaml文件再次.没有什么能阻止你这样做. 然而,另一个解决方案是在开发环境中继续使用DotEnv,并在生产中包含单独的parameters.yaml.然后,您可以按如下方式定义环境变量:
包含此文件的方法是将以下内容放在services.yaml文件中:
这样,当没有parameters.yaml文件存在时,将忽略导入.另一种解决方案是在Kernel类中为configureContainer()添加一行:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |