【发布时间】:2012-09-16 04:14:13
【问题描述】:
我正在使用以下内容从 localhost 连接到 mysql 数据库
<?php
function testdb_connect ()
{
$dbh = new PDO("mysql:host=localhost;dbname=test", "testuser", "testpass");
return ($dbh);
}
?>
但是,当我尝试使用以下代码从不同的服务器连接到该数据库(数据库在 ec2-12-34-56-78.compute-1.amazonaws.com 上运行)时
$dbh = new PDO("mysql:host=ec2-12-34-56-78.compute-1.amazonaws.com;dbname=test", "testuser", "testpass");
我无法连接。
是否可以使用 php pdo 连接到 ec2 实例上的远程数据库?
如何传递身份验证参数(例如私钥)
【问题讨论】:
-
完全有可能,但您需要按顺序设置安全组。
-
能否请您讨论一下您的安全组是如何配置的。这很可能是问题。您在尝试连接时遇到了什么样的错误?
-
这并不取决于 PHP。这完全是 EC2 配置的问题。如果您可以让 EC2 向世界开放端口,那么您可以连接到它。或者你可以只打开一个到 db 端口的 SSH 隧道,然后连接到 SSH 隧道。或者在您的两个位置之间设置某种 VPN。
-
我有 1 个安全组,其中端口 22 和 80 与数据库服务器和另一个要调用数据库的服务器一起打开。如何配置安全组以允许其他服务器访问数据库服务器? (我会在我回家后尝试连接时发布错误)
标签: php mysql pdo amazon-ec2 amazon-web-services