使用 sqlsrv_connect 识别 sql 数据库

问题描述 投票:0回答:1

我正在尝试使用 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));
}

?>
php sql-server odbc sqlsrv
1个回答
0
投票

根据 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));
}

?>
© www.soinside.com 2019 - 2024. All rights reserved.