To bardzo stare pytanie, ale miałem dokładnie ten sam problem i chciałem go tutaj udokumentować każdemu, kto go później znajdzie.
Problem
- Możesz połączyć się ze swoją bazą danych (Amazon RDS) ręcznie z wiersza poleceń.
- Możesz połączyć się ze swoją bazą danych przez mysqli w PHP.
- Możesz nie połącz się z bazą danych przez PDO w PHP.
Rozwiązanie
Dla mnie, po wypróbowaniu prawie wszystkiego, przypadkowo postanowiłem spróbować stworzyć nowego użytkownika bazy danych. To zadziałało i mogłem teraz połączyć się przez PDO.
To skłoniło mnie do dokładniejszego zbadania problemu i udało mi się zawęzić problem do odwrotnego ukośnika \
znak w moim haśle MySQL.
Wygląda na to, że istnieje jakiś konflikt między ENV Vars (z \
), PHP i PDO.