Maison >développement back-end >tutoriel php >Comment résoudre l'erreur « mysqli_connect() s'attend à ce que le paramètre 6 soit une chaîne, ressource donnée » lors de la connexion à MySQL via SSH en PHP ?
Vous avez rencontré une erreur lors de la connexion à votre base de données à l'aide de SSH et du bibliothèque ssh2. Plus précisément, l'erreur est "mysqli_connect() s'attend à ce que le paramètre 6 soit une chaîne, ressource donnée."
Le message d'erreur ci-dessus suggère que vous avez transmis un type incorrect au sixième paramètre de la fonction mysqli_connect.
Pour résoudre le problème, transmettez une chaîne au lieu d'une ressource comme sixième paramètre. Dans votre cas, ce paramètre devrait être le chemin d'accès au socket du tunnel SSH.
Pour vous connecter à un serveur MySQL via SSH, vous devrez configurer un tunnel SSH en suivant les étapes suivantes :
1. Commande du tunnel SSH :
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
2. Connexion client MySQL :
Une fois le tunnel configuré, vous pouvez vous connecter à votre serveur MySQL à l'aide de votre client MySQL local :
mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase
3. Connexion PHP :
Enfin, connectez-vous à votre serveur MySQL dans votre application PHP :
<code class="php"><?php $smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase"); mysql_select_db("db", $smysql); ?></code>
Note de sécurité :
Pour une utilisation améliorée sécurité, utilisez un hôte bastion (Jumpbox) comme proxy SSH au lieu de vous connecter directement à votre serveur MySQL.
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!