Menyambung ke pangkalan data jauh melalui SSH menyediakan selamat dan cekap cara capaian data. SSH berfungsi sebagai saluran yang disulitkan yang melaluinya pertanyaan MySQL anda dihantar, melindungi maklumat sensitif daripada pemintasan.
Untuk mewujudkan terowong SSH, gunakan arahan ssh dengan suis -L untuk menentukan penghantaran port tempatan. Suis ini mengubah hala trafik dari port tempatan yang ditentukan ke alamat IP jauh pelayan pangkalan data dan port melalui SSH.
Sebagai contoh, arahan berikut menyediakan terowong dari port tempatan 3307 ke pelayan pangkalan data pada 10.3.1.55: 3306 melalui proksi SSH di ssh-jumpbox.com:
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
Sekarang terowong telah ditubuhkan, konfigurasikan aplikasi PHP anda untuk menyambung ke pangkalan data melalui port tempatan. Ini melibatkan penetapan "127.0.0.1:3307" sebagai parameter hos dalam fungsi sambungan MySQL anda, seperti yang dilihat dalam contoh di bawah:
$smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase");
Rentetan sambungan ini menunjukkan MySQL untuk menggunakan port tempatan 3307, yang akan dimajukan melalui terowong SSH ke pelayan pangkalan data.
Ralat "mysqli_connect() menjangkakan parameter 6 sebagai rentetan, sumber diberikan" apabila menggunakan mysqli_connect menunjukkan ketidakpadanan dalam parameter fungsi. Pastikan parameter kelima (yang sepatutnya menjadi sumber terowong) ialah rentetan yang mengandungi butiran sambungan sumber, bukannya sumber itu sendiri.
Atas ialah kandungan terperinci Bagaimana untuk Menyambung dengan Selamat ke Pangkalan Data MySQL melalui SSH Tunnel dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!