使用 PHP 函数通过 SSH 建立与远程 Linux 计算机上托管的 MySQL 数据库的连接可能具有挑战性。使用提供的代码时,可能会出现错误“mysqli_connect()期望参数6为字符串,给定资源”。
代码尝试使用mysqli_connect()函数来通过 SSH 隧道连接到数据库。但是,mysqli_connect() 函数需要一个字符串作为第六个参数(表示隧道),而 ssh2_tunnel() 函数返回一个资源。
要解决解决此问题,请设置到 MySQL 数据库服务器的 SSH 隧道。一种有效的方法是使用 Jumpbox 代理来增强安全性。此方法涉及使用 SSH 客户端创建本地端口转发隧道,从而有效地在本地计算机和数据库服务器之间创建安全通道。
使用命令行工具(SSH 隧道设置):
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
连接到数据库:
$mysqli = mysqli_connect("127.0.0.1:3307", "DB_USERNAME", "DB_PASSWORD", "dbname");
其他注意事项:
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3