Eu tive o mesmo problema depois de obter uma nova caixa do CentOS 7, executando o SELinux. Eu poderia me conectar ao meu servidor remoto MySQL DB a partir da linha de comando, mas o Drupal (e testar scripts PHP) não.
O problema acabou sendo as políticas de segurança do SELinux.
Por padrão, a política httpd_can_network_connect_db está desabilitado (o que significa que seu servidor web não pode contate um banco de dados remoto.)
Verifique isso através de:
getsebool -a | grep httpd
Se httpd_can_network_connect_db estiver desativado, habilite-o via:
setsebool -P httpd_can_network_connect_db 1
(O sinalizador -P torna a alteração permanente, portanto, a configuração sobrevive a uma reinicialização.)