2017-10-15 7 views
0

J'essaie de me connecter à une base de données depuis mon instance ec2. Cela fonctionne bien sur ma machine de développement local. Avec les mêmes informations d'identification sur mon instance ec2, cette erreur est générée. Comment pourrais-je faire monter la connexion de délai d'attente w/CodeIgniter 3 ?:Connexion expirée - Db - Codeigniter

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 
+0

Le délai d'attente n'est pas votre problème. Vous n'avez pas la bonne configuration db ou vous vous connectez instantanément. –

Répondre

1

Voici les endroits que je vérifierais:

  • règles de groupe de sécurité EC2 pour du trafic - il est possible IP de votre instance EC2 adresse n'est pas autorisée, alors que votre adresse IP de développement local est. Ceci est particulièrement possible si vous utilisez RDS - assurez-vous que le port 3306 est ouvert au trafic IN sur le RDS à partir de l'adresse IP de l'EC2. Si MySQL est installé directement sur le serveur EC2 (je ne le recommanderais pas pour les gros cas d'utilisation du trafic!), Vérifiez vos paramètres dans application/config/database.php pour vous assurer que vous utilisez les bonnes informations d'identification . Dans ce cas, il semble que le DB HOST soit mal configuré - si l'adresse IP est incorrecte, la connexion sera interrompue.

+0

Parfait, ouais j'utilisais les règles entrantes par défaut pour RDS. J'ai fini par spécifier le groupe de sécurité que mon instance ec2 est sur le port 3306 et cela fonctionne. Merci! –