首页 > 解决方案 > 在 Symfony 4 项目中使用 .env 中的 Amazon RDS Globals

问题描述

我已经建立了一个 Symfony 4 项目并将其部署到 AWS。数据库连接的凭据可通过服务器全局变量获得。有没有办法直接从.env文件中访问这些变量?如果不是,那么在不使用硬编码凭据的情况下连接到数据库的最佳方法是什么?

基本上我想像这样定义我的连接变量,以便我可以将它们分配给DATABASE_URL

RDS_HOSTNAME=$_SERVER['RDS_HOSTNAME']

标签: amazon-web-servicessymfonyglobals

解决方案


是的,您可以直接从.env文件中访问这些变量。如下。通过这种方式,您应该安装Dotenv Bundle

RDS_HOSTNAME=getenv("RDS_HOSTNAME")

但是,这种方法是最好的发展方式。当您在生产环境中运行时,他们建议使用环境变量方法。

Symfony Dotenv can be used in any environment of your application: development, testing, staging and even production. However, in production it's recommended to configure real environment variables to avoid the performance overhead of parsing the .env file for every request.

https://symfony.com/doc/current/components/dotenv.html


推荐阅读