繁体   English   中英

使用 PHP 连接到 Oracle DB

[英]Connecting to Oracle DB using PHP

我正在尝试使用以下代码使用 PHP 连接到 Oracle 数据库:

$username = 'my_username';
$password = 'my_password';
$environment = 'my_environment';
// CHANGE HOST, PORT, SID
$tns = "
(DESCRIPTION =
     (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = my_host)(PORT = my_port))
     )
     (CONNECT_DATA =
          (SID = my_sid)
     )
)
";

$conn = oci_connect($username, $password, $tns);

if (!$conn) {
   $e = oci_error();
   trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

它工作正常。 但我想要做的是连接而不以纯文本形式公开用户名和密码。 就像在 Postman 中一样,您可以使用基本身份验证标头而不是纯文本。 有没有办法做到这一点?

首选的解决方案是使用 Oracle 钱包,执行“外部身份验证”。 请参阅 Oracle 免费的The Underground PHP and Oracle Manual 的 p116

设置钱包后,您的代码将如下所示:

$c = oci_connect("/", "", $tns, null, OCI_CRED_EXT);

一个较小的选择是从环境变量传递密码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM