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
492 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!

sumber: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