Esta é uma pergunta muito antiga, mas eu tive exatamente o mesmo problema e queria documentá-lo aqui para quem encontrar isso mais tarde.
O problema
- Você pode se conectar ao seu banco de dados (Amazon RDS) manualmente a partir da linha de comando.
- Você pode se conectar ao seu banco de dados via mysqli em PHP.
- Você pode não conecte-se ao seu banco de dados via PDO em PHP.
A solução
Para mim, depois de tentar quase tudo, decidi aleatoriamente tentar criar um novo usuário de banco de dados. Isso funcionou e agora consegui me conectar via PDO.
Isso me levou a investigar o problema um pouco mais e consegui reduzi-lo a uma barra invertida
\
caractere na minha senha do MySQL. Parece haver algum tipo de conflito entre ENV Vars (com
\
), PHP e DOP.