无法从php连接到AWS RDS MySQL

无法从php连接到AWS RDS MySQL,mysql,amazon-web-services,amazon-rds,Mysql,Amazon Web Services,Amazon Rds,我是AWS新手,已经建立了一个mysql RDS实例 我可以使用MySQLWorkbench从我的笔记本电脑连接,但是当我尝试从我的一个服务器(而不是aws服务器)连接以下代码时,我得到以下错误: 警告:mysqli::mysqli:HY000/2002:第28行的/home/asmserverco/public_html/sms/login.php中的连接超时 连接失败:连接超时 以下是php连接代码: $servername=**.us-west-2.rds.amazonaws.com; $

我是AWS新手,已经建立了一个mysql RDS实例

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

警告:mysqli::mysqli:HY000/2002:第28行的/home/asmserverco/public_html/sms/login.php中的连接超时 连接失败:连接超时

以下是php连接代码:

$servername=**.us-west-2.rds.amazonaws.com; $username=awsasm; $password=***; $dbname=sms; //创建连接 $conn=newmysqli$servername、$username、$password、$dbname; //检查连接 如果$conn->connect\U错误{ dieConnection失败:.$conn->connect\u错误; } 我已将实例安全组上的所有流量设置为允许来自任何IP


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

考虑到您正在运行启用SELinux的CentOS,最好检查审计文件

/var/log/audit/audit.log
尽管如此,我确信问题在于缺少网络标志。在下面以root用户身份运行

setsebool -P httpd_can_network_connect 1

然后再次尝试访问。

考虑到您正在运行启用SELinux的CentOS,最好检查审计文件

/var/log/audit/audit.log
尽管如此,我确信问题在于缺少网络标志。在下面以root用户身份运行

setsebool -P httpd_can_network_connect 1

然后再次尝试访问。

假设您没有修改NACL,请检查RDS是否允许从服务器的IP连接到端口3306。如果要为所有不安全的对象打开它,因此不建议将其设置为0.0.0.0/0


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

假设您没有修改NACL,请检查RDS是否允许从服务器的IP连接到端口3306。如果要为所有不安全的对象打开它,因此不建议将其设置为0.0.0.0/0


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

Matt,您的安全组是设置为特定IP还是对所有0.0.0.0/0开放?您的服务器是否在启用SELinux的情况下运行CentOS?您好,感谢您的响应,安全组已设置为所有,如您上面所述。运行CENTOS 6.8的服务器已启用SELinux,安全组是否设置为特定IP或对所有0.0.0.0/0开放?您的服务器是否在启用SELinux的情况下运行CentOS?您好,感谢您的响应,安全组已设置为所有,如您上面所述。已启用运行CENTOS 6.8和yes SELinux的服务器