Estabelecer uma conexão com um banco de dados MySQL hospedado em uma máquina Linux remota via SSH usando funções PHP pode ser um desafio. O erro "mysqli_connect() espera que o parâmetro 6 seja string, recurso fornecido" pode ocorrer ao usar o código fornecido.
O código tenta usar a função mysqli_connect() para conecte-se ao banco de dados por meio de um túnel SSH. No entanto, a função mysqli_connect() espera uma string como o sexto parâmetro (indicando o túnel), enquanto a função ssh2_tunnel() retorna um recurso.
Para resolver esse problema, configure um túnel SSH para seu servidor de banco de dados MySQL. Um método eficaz é usar um proxy Jumpbox para melhorias de segurança. Essa abordagem envolve a criação de um túnel de encaminhamento de porta local usando o cliente SSH, criando efetivamente um canal seguro entre sua máquina local e o servidor de banco de dados.
Usando Ferramentas de linha de comando (configuração do túnel SSH):
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
Conectando ao banco de dados:
$mysqli = mysqli_connect("127.0.0.1:3307", "DB_USERNAME", "DB_PASSWORD", "dbname");
Considerações adicionais:
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3