Dalam percubaan untuk menyambung ke pangkalan data MySQL jauh menggunakan SSH dan ssh2 PHP perpustakaan, kod yang disediakan menghadapi ralat: "mysqli_connect() menjangkakan parameter 6 menjadi rentetan, sumber diberikan." Isu ini timbul apabila parameter yang dijangkakan sebagai rentetan (sumber terowong) disediakan sebagai sumber sebaliknya.
Untuk mengatasi cabaran ini , terowong SSH selamat boleh diwujudkan untuk menyambung ke pelayan pangkalan data MySQL. Terowong ini bertindak sebagai saluran yang disulitkan antara pelanggan dan pangkalan data, menghalakan semua komunikasi melalui sambungan SSH yang selamat.
Langkah 1: Sediakan terowong SSH menggunakan suis '-L'.
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
Dalam contoh ini, trafik pada port tempatan 3307 dimajukan ke pelayan pangkalan data jauh pada 10.3.1.55:3306.
Langkah 2: Sambungkan ke pangkalan data menggunakan port tempatan.
mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase
Aplikasi PHP kini boleh menyambung ke pangkalan data menggunakan sambungan yang dimajukan SSH.
<code class="php"><?php $smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase"); mysql_select_db("db", $smysql); ?></code>
Dengan menyediakan terowong SSH, sambungan ke pangkalan data MySQL jauh menjadi sangat selamat. Data ditukar melalui saluran SSH yang disulitkan, menghalang akses tanpa kebenaran.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'mysqli_connect(): Parameter 6 Dijangka Menjadi Rentetan, Sumber Diberikan\' Ralat dalam PHP SSH MySQL Connection?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!