C'est une très vieille question, mais j'avais exactement le même problème et je voulais le documenter ici pour tous ceux qui le trouveront plus tard.
Le problème
- Vous pouvez vous connecter manuellement à votre base de données (Amazon RDS) à partir de la ligne de commande.
- Vous pouvez vous connecter à votre base de données via mysqli en PHP.
- Vous ne pouvez pas connectez-vous à votre base de données via PDO en PHP.
La solution
Pour moi, après avoir presque tout essayé, j'ai décidé au hasard d'essayer de créer un nouvel utilisateur de base de données. Cela a fonctionné et je pouvais maintenant me connecter via PDO.
Cela m'a incité à enquêter un peu plus sur le problème et j'ai pu réduire le problème à une barre oblique inverse \
caractère dans mon mot de passe MySQL.
Il semble y avoir une sorte de conflit entre ENV Vars (avec \
), PHP et PDO.