Establecer una conexión a una base de datos MySQL alojada en una máquina Linux remota a través de SSH usando funciones de PHP puede ser un desafío. El error "mysqli_connect() espera que el parámetro 6 sea una cadena, recurso proporcionado" puede ocurrir al usar el código proporcionado.
El código intenta usar la función mysqli_connect() para conectarse a la base de datos a través de un túnel SSH. Sin embargo, la función mysqli_connect() espera una cadena como sexto parámetro (que indica el túnel), mientras que la función ssh2_tunnel() devuelve un recurso.
Para resolver Para solucionar este problema, configure un túnel SSH hacia su servidor de base de datos MySQL. Un método eficaz es utilizar un proxy Jumpbox para mejorar la seguridad. Este enfoque implica crear un túnel de reenvío de puerto local utilizando el cliente SSH, creando efectivamente un canal seguro entre su máquina local y el servidor de base de datos.
Uso Herramientas de línea de comandos (configuración del túnel SSH):
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
Conectándose a la base de datos:
$mysqli = mysqli_connect("127.0.0.1:3307", "DB_USERNAME", "DB_PASSWORD", "dbname");
Consideraciones adicionales:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3