Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menyelesaikan \'mysqli_connect() menjangkakan parameter 6 sebagai rentetan, sumber diberi\' Ralat semasa Menyambung ke MySQL Melalui SSH dalam PHP?

Bagaimana untuk Menyelesaikan \'mysqli_connect() menjangkakan parameter 6 sebagai rentetan, sumber diberi\' Ralat semasa Menyambung ke MySQL Melalui SSH dalam PHP?

Patricia Arquette
Lepaskan: 2024-10-21 22:32:02
asal
557 orang telah melayarinya

How to Resolve

Menyambung ke Pelayan MySQL Melalui SSH dalam PHP

Masalah:

Anda telah mengalami ralat semasa menyambung ke pangkalan data anda menggunakan SSH dan perpustakaan ssh2. Khususnya, ralat ialah "mysqli_connect() menjangkakan parameter 6 sebagai rentetan, sumber diberikan."

Penjelasan Isu:

Mesej ralat di atas menunjukkan bahawa anda telah menghantar jenis yang salah kepada parameter keenam fungsi mysqli_connect.

Penyelesaian:

Untuk menyelesaikan isu, hantar rentetan dan bukannya sumber sebagai parameter keenam. Dalam kes anda, parameter ini dijangka menjadi laluan ke soket terowong SSH.

Penyediaan Terowong SSH:

Untuk menyambung ke pelayan MySQL melalui SSH, anda perlu menyediakan terowong SSH menggunakan langkah berikut:

1. Perintah Terowong SSH:

ssh -fNg -L 3307:10.3.1.55:3306 [email protected] 
Salin selepas log masuk
  • '-f': Jalankan di latar belakang
  • '-N' : Jangan laksanakan arahan jauh
  • '-L': Dayakan pemajuan port tempatan
  • '3307': Port tempatan pada mesin anda
  • '10.3.1.55': Alamat pelayan MySQL jauh
  • '3306': Port pelayan MySQL jauh
  • '[email protected]': Hos proksi SSH dan nama pengguna

2. Sambungan Pelanggan MySQL:

Setelah terowong disediakan, anda boleh menyambung ke pelayan MySQL anda menggunakan klien MySQL tempatan anda:

mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase
Salin selepas log masuk
  • '- h': Alamat pelayan MySQL tempatan
  • '-P': Nombor port tempatan
  • '-u': nama pengguna MySQL
  • '-p': Kata laluan MySQL

3. Sambungan PHP:

Akhir sekali, sambung ke pelayan MySQL anda dalam aplikasi PHP anda:

<code class="php"><?php
$smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase");
mysql_select_db("db", $smysql); 
?></code>
Salin selepas log masuk

Nota Keselamatan:

Untuk dipertingkatkan keselamatan, gunakan hos benteng (Jumpbox) sebagai proksi SSH dan bukannya menyambung terus ke pelayan MySQL anda.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'mysqli_connect() menjangkakan parameter 6 sebagai rentetan, sumber diberi\' Ralat semasa Menyambung ke MySQL Melalui SSH dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan