Miałem ten sam problem po zdobyciu nowego komputera CentOS 7 z systemem SELinux. Mogłem połączyć się z moim zdalnym serwerem MySQL DB z wiersza poleceń, ale Drupal (i testowe skrypty PHP) nie.
Problemem okazały się polityki bezpieczeństwa SELinux.
Domyślnie zasada httpd_can_network_connect_db jest wyłączony (co oznacza, że Twój serwer WWW nie może skontaktuj się ze zdalną bazą danych.)
Sprawdź to przez:
getsebool -a | grep httpd
Jeśli httpd_can_network_connect_db jest wyłączone, włącz je za pomocą:
setsebool -P httpd_can_network_connect_db 1
(Flaga -P powoduje, że zmiana jest trwała, więc ustawienie przetrwa ponowne uruchomienie).