Beim Herstellen einer Verbindung zu Ihrer Datenbank über SSH ist ein Fehler aufgetreten ssh2-Bibliothek. Konkret lautet der Fehler „mysqli_connect() erwartet, dass Parameter 6 ein String ist, Ressource angegeben.“
Die obige Fehlermeldung deutet darauf hin, dass Sie einen falschen Typ an übergeben haben sechster Parameter der mysqli_connect-Funktion.
Um das Problem zu beheben, übergeben Sie als sechsten Parameter eine Zeichenfolge anstelle einer Ressource. In Ihrem Fall wird dieser Parameter voraussichtlich der Pfad zum SSH-Tunnel-Socket sein.
Um über SSH eine Verbindung zu einem MySQL-Server herzustellen, müssen Sie den Tunnel einrichten Erstellen Sie einen SSH-Tunnel mit den folgenden Schritten:
1. SSH-Tunnel-Befehl:
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
2. MySQL-Client-Verbindung:
Sobald der Tunnel eingerichtet ist, können Sie über Ihren lokalen MySQL-Client eine Verbindung zu Ihrem MySQL-Server herstellen:
mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase
3. PHP-Verbindung:
Stellen Sie abschließend eine Verbindung zu Ihrem MySQL-Server in Ihrer PHP-Anwendung her:
<code class="php"><?php $smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase"); mysql_select_db("db", $smysql); ?></code>
Sicherheitshinweis:
Für erweiterte Um Ihre Sicherheit zu gewährleisten, verwenden Sie einen Bastion-Host (Jumpbox) als SSH-Proxy, anstatt eine direkte Verbindung zu Ihrem MySQL-Server herzustellen.
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „mysqli_connect() erwartet Parameter 6 als Zeichenfolge, Ressource angegeben' beim Herstellen einer Verbindung zu MySQL über SSH in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!