我正在尝试使用 sqlsrv_connect 连接到我的数据库,该数据库位于 Microsoft sql server 上
但是我有一个错误,显示提供的证书链没有不受信任的权限
Array (
[0] => Array (
[0] => 08001
[SQLSTATE] => 08001
[1] => -2146893019
[code] => -2146893019
[2] => [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: The certificate cha�ne has �t� provided by an autorit� that is not approv�e.
[message] => [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: The certificate chain has �t� provided by an autorit� that is not approved�.
)
[1] => Array (
[0] => 08001
[SQLSTATE] => 08001
[1] => -2146893019
[code] => -2146893019
[2] => [Microsoft][ODBC Driver 18 for SQL Server]The client could not �tablish the connection
[message] => [Microsoft][ODBC Driver 18 for SQL Server]The client could not �tablish the connection
)
我听说过:
encrypt=true trustservercertificate=true
但是我不知道如何将它无误地集成到我的php代码中
<?php
$serverName = "";
$connectionInfo = array(
"Database" => "Affichage",
"UID" => "sa",
"PWD" => "mrsushi"
);
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if ($conn) {
echo "Connexion établie.<br />";
} else {
echo "La connexion n'a pu être établie.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
根据 https://www.php.net/manual/en/function.sqlsrv-connect.php 尝试这个它引用 https://learn.microsoft.com/en-us/sql/connect/php /连接选项
TrustServerCertificate 1 或真信任证书
<?php
$serverName = "";
$connectionInfo = array(
"Database" => "Affichage",
"UID" => "sa",
"PWD" => "mrsushi",
"TrustServerCertificate" => true
);
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if ($conn) {
echo "Connexion établie.<br />";
} else {
echo "La connexion n'a pu être établie.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>