SSL 提供者錯誤:由 PHP 中不受信任的機構向 MSSQL Server 所發出的憑證鏈
P粉338969567
P粉338969567 2023-10-30 18:03:00
0
2
745

首先,我真的很菜鳥。 (抱歉) 其次,我嘗試將 php 連接到 mssql 伺服器。 第三,我已經安裝了 sqlsrv、pdo_sqlsrv 和 msodbcsql.msi 但嘗試連線時仍收到錯誤訊息

我的php版本是8.0.10,x64; mssql 伺服器 2012。

我的 php 程式碼用於測試連線:

<?php
$serverName = "10.xxx.xx.148";
$connectionInfo = array( "Database"=>"zzzz", "UID"=>"ww","PWD"=>"123cccc");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
 echo "Connection established.<br />";
}else{
 echo "Connection could not be established.<br />";
 die( print_r( sqlsrv_errors(), true));}
?>

然後我收到錯誤,並指示安裝 msodbcsql.msi,我按照指示安裝它。但隨後顯示我無法解決的新錯誤。

Array ( [0] => Array ( [0] => 08001 [SQLSTATE] => 08001 1 => -2146893019 [程式碼] => -2146893019 2 =>; Driver 18 for SQL Server] SSL 提供者:憑證鏈由不受信任的頒發機構所頒發。[訊息] => [Microsoft][ODBC Driver 18 for SQL Server]SSL 提供者:憑證鏈由不受信任的頒發機構頒發。)1 => 陣列( [0] => 08001 [SQLSTATE] => 08001 1 => -2146893019 [代碼] => -2146893019 2 => [Microsoft][ forBCr 18OD 數字SQL Server]用戶端無法建立連線[訊息] => [Microsoft][ODBC Driver 18 for SQL Server]用戶端無法建立連線) )

附加資訊:當我將 dbeaver(不同的電腦)連​​接到 mssql 伺服器(同一台伺服器)時沒有問題。

提前謝謝

P粉338969567
P粉338969567

全部回覆(2)
P粉545956597

我使用 ODBC 驅動程式 17 而不是 ODBC 驅動程式 18,問題已解決。就我而言,我不需要加密,因此驅動程式 17 對我來說沒問題。

P粉327903045

萬一有人想知道如何將TrustServerCertificate 定義為1,我就是這樣做的,我將參數新增為新的陣列元素,如下所示

<?php
$serverName = "10.xxx.xx.148";
$connectionInfo = array( 
 "Database"=>"zzzz",
 "UID"=>"ww",
 "PWD"=>"123cccc",
 "TrustServerCertificate"=>true
);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
?>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板