繁体   English   中英

无法从 php 连接到 AWS RDS MySQL

[英]Unable to connect to AWS RDS MySQL from php

我是 AWS 的新手,并且已经设置了一个 mysql RDS 实例。

我可以使用 MySQLWorkbench 从我的笔记本电脑连接,但是当我尝试从我的一台服务器(不是 aws 服务器)连接以下代码时,我收到以下错误:

警告:mysqli::mysqli(): (HY000/2002): Connection timed in /home/asmserverco/public_html/sms/login.php on line 28 Connection failed: Connection timed out

这是php连接代码:

$servername = "****.us-west-2.rds.amazonaws.com";
$username = "awsasm";
$password = "****";
$dbname = "sms";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

我已将实例安全组上的所有流量设置为允许来自任何 IP。

为什么我可以从我的笔记本电脑而不是我的网络服务器连接?

考虑到您在启用 SELinux 的情况下运行 CentOS,检查审计文件总是一个好主意。

/var/log/audit/audit.log

话虽如此,我确定问题在于缺少网络标志。 以 root 身份在下面运行。

setsebool -P httpd_can_network_connect 1

并尝试再次访问。

假设您没有修改 NACL,请检查 RDS 是否允许从您服务器的 IP 连接到端口 3306。 如果你想为所有人打开它(这不安全,因此不推荐)它应该是 0.0.0.0/0。

此外,请确保“可公开访问”设置为“是”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM