Connexion sécurisée à un serveur MySQL via SSH à l'aide de PHP
La connexion à un serveur MySQL distant via SSH offre une sécurité supplémentaire en cryptant la connexion. En PHP, la fonction mysqli_connect() permet la connexion aux serveurs MySQL tunnelés SSH. Cependant, lorsqu'ils tentent d'établir une connexion à l'aide de ssh2_tunnel(), les développeurs rencontrent souvent l'erreur "mysqli_connect() s'attend à ce que le paramètre 6 soit une chaîne, ressource donnée."
Configuration du tunnel SSH
L'approche recommandée pour résoudre ce problème consiste à configurer un tunnel SSH. Suivez ces étapes pour créer un tunnel SSH à l'aide des outils de ligne de commande :
ssh -fNg -L 3307:10.3.1.55:3306 username@ssh-jumpbox.com
AllowTcpForwarding yes
sudo systemctl restart sshd
Connexion PHP
Une fois le tunnel SSH établi, vous pouvez vous connecter au serveur MySQL à l'aide de PHP :
$mysqli = new mysqli('127.0.0.1', 'DB_USERNAME', 'DB_PASSWORD', 'dbname', 3307); if ($mysqli->connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); }
Ce code se connecte à la base de données MySQL hébergée à 127.0.0.1:3307, en utilisant le nom d'utilisateur, le mot de passe, le nom de la base de données et le numéro de port configurés pour SSH. tunnel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!