Ralat Pembekal SSL: Rantaian sijil yang dikeluarkan kepada Pelayan MSSQL oleh pihak berkuasa yang tidak dipercayai dalam PHP
P粉338969567
P粉338969567 2023-10-30 18:03:00
0
2
725

Pertama sekali, saya memang noob. (Berasa maaf) Kedua, saya cuba menyambungkan php ke pelayan mssql. Ketiga, saya telah memasang sqlsrv, pdo_sqlsrv dan msodbcsql.msi Tetapi masih mendapat mesej ralat semasa cuba menyambung

Versi php saya ialah 8.0.10, x64; pelayan mssql 2012.

Kod php saya untuk menguji sambungan:

<?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));}
?>

Kemudian saya mendapat ralat dan diarahkan untuk memasang msodbcsql.msi, saya memasangnya seperti yang diarahkan. Tetapi kemudian ia menunjukkan ralat baharu yang tidak dapat saya selesaikan.

Tatasusunan ( [0] => Tatasusunan ( [0] => 08001 [SQLSTATE] => 08001 1 => -2146893019 [Kod] => -2146893019 2 => untuk Pelayan SQL] Pembekal SSL: Rantaian sijil dikeluarkan oleh pihak berkuasa yang tidak dipercayai [Message] => [Microsoft][ODBC Driver 18 untuk Pelayan SQL] Pembekal SSL: Rantaian sijil dikeluarkan oleh pihak berkuasa yang tidak dipercayai ) 1 => ; Array ([0] => 08001 [SQLSTATE] => 08001 1 => -2146893019 [Kod] => -2146893019 2 => [Microsoft][ODBC Driver 18 tidak boleh mewujudkan sambungan SQL Server [Mesej] => [Microsoft][ODBC Driver 18 untuk SQL Server]Pelanggan tidak dapat mewujudkan sambungan) )

Maklumat tambahan: Tiada masalah apabila saya menyambungkan dbeaver (pc berbeza) ke pelayan mssql (server yang sama).

Terima kasih terlebih dahulu

P粉338969567
P粉338969567

membalas semua(2)
P粉545956597

Saya menggunakan pemacu ODBC 17 dan bukannya pemandu ODBC 18 dan masalah itu telah diselesaikan. Dalam kes saya, saya tidak memerlukan penyulitan jadi pemandu 17 adalah baik untuk saya.

P粉327903045

Sekiranya ada yang tertanya-tanya bagaimana untuk menentukan TrustServerCertificate sebagai 1, ini adalah cara saya melakukannya, saya menambah parameter sebagai elemen tatasusunan baharu seperti di bawah

<?php
$serverName = "10.xxx.xx.148";
$connectionInfo = array( 
 "Database"=>"zzzz",
 "UID"=>"ww",
 "PWD"=>"123cccc",
 "TrustServerCertificate"=>true
);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
?>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan