使用 OID LDAP 通过 doctrine 连接到 oracle 数据库

Connect to an oracle database with doctrine using the OID LDAP

是否可以使用 Oracle Internet Directory (OID) 检索数据库 IP 连接到 Oracle 数据库? 我找不到任何文档。

谢谢。

首先,对于 Doctrine,如果你想连接到 Oracle 数据库,你应该使用 oci8 PHP 驱动程序告诉你)。

其次,您可以简单地从外部设置您的环境变量,例如首先将以下行添加到您各自的“config.yml”导入部分下方:

imports:
- { resource: readEnvParams.php }

然后在同一文件夹中创建一个'readEnvParams.php'文件,首先做任何必要的事情来查找OID中的信息,一旦你有了它(例如在一个名为$oid的变量中),设置你的参数:

$oid = functionToConnectToOIDandRetrieveInfo(OidConnection); //pseudo code

$container->setParameter('database_host', $oid->host);
$container->setParameter('database_port', $oid->port);
$container->setParameter('database_name', $oid->name);
$container->setParameter('database_user', $oid->username);
$container->setParameter('database_password', $oid->password);

重要(更新):

了解这一点很重要使用这种方法更改 IP 您可能必须重新启动 Symfony 应用程序或找到另一种方法来在 运行 Symfony 容器中反映更改后的 IP。

如果您的动态 IP 没有任何回退并且没有配置 OID 连接超时,则您的 Symfony 应用程序要么需要永远才能正常启动,要么根本不启动,因为无法建立数据库连接(例如,当 OID 不可用时)。