从ini文件配置symfony数据库连接



在我需要部署symfony 5.2.4应用程序的服务器上,数据库配置在一个ini文件中定义,该文件的路径设置为环境变量。

我现在做这件事的方法是运行composer dump-env dev,然后在.env.local.php中,添加一些代码来加载inifile,解析它,然后构造我的数据库url,并将database_url设置为这样的值:

$inifile = parse_ini_file($_SERVER["DB_INI_PATH"]);
$databaseurl = 'mysql://'.$inifile["user"].':'.$inifile["password"].'@'.$inifile["host"].':'.$inifile["port"].'/'.$inifile["db"];

但这意味着我在这个文件中有一些代码无法进行版本控制(因为它还包含我的APP_SECRET值(,每当我需要减少我的env时,我都需要读取自定义代码。

我还没有在我的symfony应用程序中找到一个合适的位置来添加这个ini文件解码过程,所以我正在寻找任何关于正确方法的建议,以一种可版本化的方式。

您可以用php编写您的条令配置,并可以访问环境变量。您可以在";config/packages/prod/doctory.php";。文档中的示例显示了如何设置doctrine.dbal.url转到此处并单击php选项卡以获取示例代码:https://symfony.com/doc/current/configuration.html#configuration-基于环境变量

最新更新