使用 PHP 通过 SSH 安全连接到 MySQL 服务器
通过 SSH 连接到远程 MySQL 服务器通过加密连接提供了额外的安全性。在 PHP 中,mysqli_connect() 函数可以连接到 SSH 隧道的 MySQL 服务器。然而,当尝试使用 ssh2_tunnel() 建立连接时,开发人员经常会遇到错误“mysqli_connect()期望参数 6 为字符串,给定资源。”
SSH 隧道配置
解决此问题的推荐方法是设置 SSH 隧道。按照以下步骤使用命令行工具创建 SSH 隧道:
ssh -fNg -L 3307:10.3.1.55:3306 username@ssh-jumpbox.com
AllowTcpForwarding yes
sudo systemctl restart sshd
PHP连接
SSH 隧道建立后,您可以使用 PHP 连接到 MySQL 服务器:
$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); }
此代码连接到托管在 127.0.0.1:3307 的 MySQL 数据库,使用指定的数据库用户名、密码、数据库名称以及为 SSH 隧道配置的端口号。
以上是如何在 PHP 中通过 SSH 隧道安全连接到远程 MySQL 服务器?的详细内容。更多信息请关注PHP中文网其他相关文章!