Ich hatte das gleiche Problem, nachdem ich eine neue CentOS 7-Box mit SELinux bekommen hatte. Ich konnte über die Befehlszeile eine Verbindung zu meinem Remote-MySQL-DB-Server herstellen, aber Drupal (und Test-PHP-Skripte) konnte dies nicht.
Es stellte sich heraus, dass das Problem die SELinux-Sicherheitsrichtlinien waren.
Standardmäßig ist die Richtlinie httpd_can_network_connect_db ist deaktiviert (was bedeutet, dass Ihr Webserver nicht kann Kontakt zu einer entfernten DB.)
Überprüfen Sie dies über:
getsebool -a | grep httpd
Wenn httpd_can_network_connect_db ausgeschaltet ist, aktivieren Sie es über:
setsebool -P httpd_can_network_connect_db 1
(Das Flag -P macht die Änderung dauerhaft, sodass die Einstellung einen Neustart überlebt.)