【问题标题】:Connection Timed Out - Db - Codeigniter连接超时 - Db - Codeigniter
【发布时间】:2018-03-27 08:45:11
【问题描述】:

我正在尝试从我的 ec2 实例连接到数据库。它在我的本地开发机器上运行良好。尽管在我的 ec2 实例上使用相同的凭据,但它会引发此错误。我将如何使用 CodeIgniter 3 提高超时连接?:

A PHP Error was encountered

Severity: Warning

Message: mysqli::real_connect(): (HY000/2002): Connection timed out

Filename: mysqli/mysqli_driver.php

Line Number: 161

Backtrace:

File: /opt/workspace/api.my_app.com/index.php
Line: 292
Function: require_once

Unable to connect to your database server using the provided settings.

Filename: core/CodeIgniter.php

Line Number: 500

【问题讨论】:

  • 超时不是你的问题。您没有正确的数据库配置,否则您会立即连接。

标签: php codeigniter amazon-ec2 codeigniter-3


【解决方案1】:

这里是我要检查的地方:

  • 用于 IN 流量的 EC2 安全组规则 - 可能不允许您的 EC2 实例的 IP 地址,而您的本地开发 IP 地址是。如果您使用 RDS,这尤其可能 - 确保端口 3306 对来自 EC2 的 IP 地址的 RDS 上的 IN 流量开放。

  • 如果 MySQL 直接安装在 EC2 服务器上(对于大流量用例,我不建议这样做!),请检查您在 application/config/database.php 中的设置以确保您使用的是正确的证书。在这种情况下,这听起来像是 DB HOST 配置错误 - 如果 IP 地址错误,它会在连接上超时。

【讨论】:

  • 完美,是的,我使用的是 RDS 的默认入站规则。我最终指定了我的 ec2 实例在 w/端口 3306 上的安全组并且有效。谢谢!
猜你喜欢
  • 2018-06-24
  • 2015-09-08
  • 2020-03-24
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多