[英]php 5.6 - connecting at oracle DB using pdo and specify charset/encoding
[英]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.