PHP SSH 连接 MySQL 是指通过 PHP 程序使用 SSH 协议连接到远程服务器,并在远程服务器上执行 MySQL 数据库操作。SSH(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络上安全地传输数据。MySQL 是一种关系型数据库管理系统。
以下是一个使用 PHP 和 SSH 连接 MySQL 的示例代码:
<?php
// SSH 连接配置
$ssh_host = 'your_ssh_host';
$ssh_port = 22;
$ssh_user = 'your_ssh_user';
$ssh_pass = 'your_ssh_password'; // 或者使用 $ssh_key_path 指定密钥路径
// MySQL 连接配置
$mysql_host = '127.0.0.1';
$mysql_user = 'your_mysql_user';
$mysql_pass = 'your_mysql_password';
$mysql_db = 'your_database_name';
// 使用 SSH 连接远程服务器
$ssh = ssh2_connect($ssh_host, $ssh_port);
if (!ssh2_auth_password($ssh, $ssh_user, $ssh_pass)) {
die('SSH authentication failed.');
}
// 执行 MySQL 查询
$mysql = ssh2_sftp($ssh);
$mysql_conn = mysqli_init();
$socket = ssh2_sftp_socket($ssh);
mysqli_real_connect($mysql_conn, 'localhost', $mysql_user, $mysql_pass, $mysql_db, null, $socket);
if (!$mysql_conn) {
die('MySQL connection failed: ' . mysqli_connect_error());
}
$sql = "SELECT * FROM your_table";
$result = mysqli_query($mysql_conn, $sql);
if ($result) {
while ($row = mysqli_fetch_assoc($result)) {
echo "ID: " . $row['id'] . " - Name: " . $row['name'] . "<br>";
}
} else {
echo 'Query failed: ' . mysqli_error($mysql_conn);
}
mysqli_close($mysql_conn);
ssh2_disconnect($ssh);
?>
通过以上步骤和示例代码,你应该能够成功实现 PHP SSH 连接 MySQL,并解决常见的连接问题。
领取专属 10元无门槛券
手把手带您无忧上云