Det här är en mycket gammal fråga, men jag hade exakt samma problem och ville dokumentera det här för alla som hittar det senare.
Problemet
- Du kan ansluta till din databas (Amazon RDS) manuellt från kommandoraden.
- Du kan ansluta till din databas via mysqli i PHP.
- Du kan inte anslut till din databas via PDO i PHP.
Lösningen
För mig, efter att ha provat nästan allt, bestämde jag mig slumpmässigt för att försöka skapa en ny databasanvändare. Detta fungerade och jag kunde nu ansluta via PDO.
Detta fick mig att undersöka problemet lite mer och jag kunde begränsa problemet till ett snedstreck \
tecken i mitt MySQL-lösenord.
Det verkar finnas någon slags konflikt mellan ENV Vars (med \
), PHP och PDO.