【发布时间】:2023-02-24 18:14:07
【问题描述】:
我最近从 IIS Express 切换到 Windows Server 上的 IIS。在进行迁移时,我在识别 PHP、ODBC 安装等方面遇到了问题。但是,即使我已经拥有 SSL 证书,我仍收到以下错误。
Array
(
[0] => Array
(
[0] => 08001
[SQLSTATE] => 08001
[1] => -2146893019
[code] => -2146893019
[2] => [Microsoft][ODBC Driver 18 for SQL Server]SSL
Provider: The certificate chain was issued by an authority that is not
trusted.
[message] => [Microsoft][ODBC Driver 18 for SQL Server]SSL
Provider: The certificate chain was issued by an authority that is not
trusted.
)
[1] => Array
(
[0] => 08001
[SQLSTATE] => 08001
[1] => -2146893019
[code] => -2146893019
[2] => [Microsoft][ODBC Driver 18 for SQL Server]Client
unable to establish connection
[message] => [Microsoft][ODBC Driver 18 for SQL
Server]Client unable to establish connection
)
)
我想相信问题出在连接设置上。数据库版本为 Microsoft SQL Server 2019。
"Database", "UID"=>"UID","PWD"=>"PWD");
$connection = sqlsrv_connect( $serverName, $connectionInfo);
if( !$connection ) {
die(print_r( sqlsrv_errors(), true));
}
?>
-
这与 IIS 中的 SSL/TLS 证书无关,它抱怨 SQL Server 实例上的自签名证书。你读过 ODBC Driver 18.0 for SQL Server Released 了吗? 重大变化 - 默认加密为是/强制 ... 这意味着您需要在连接字符串中使用
Encrypt=No;
关闭连接加密,或者在连接字符串中使用TrustServerCertificate=Yes;
信任自签名证书。