Zusammenfassung: PHP gibt einen Fehler bei der Verwendung von selbstsignierten Zertifikaten, wie von Google Cloud SQL bereitgestellt.SSL-selbstsignierte Zertifizierungen für die Verbindung mit Mysql mit PHP
Details: Ich versuche, eine Verbindung zur mysql-Instanz von Google Cloud SQL herzustellen, indem ich die mysqli-Bibliothek von PHP verwende.
$db = mysqli_init();
mysqli_options ($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$db->ssl_set('client-key.pem', 'client-cert.pem', 'server-ca.pem', NULL, NULL);
$query = mysqli_real_connect ($db, $host, $user, $pass, $dbname, 3306, NULL, MYSQLI_CLIENT_SSL);
Wie ich verstehe Google Cloud ermöglicht selbst signierten Zertifikaten, von wo aus ich die Client-key.pem, Client-cert.pem, Server-ca.pem Dateien heruntergeladen.
bekomme ich folgende Fehler von PHP, wenn die Überprüfung des Zertifikats:
mysqli_real_connect(): Peer certificate CN=`<project_name>' did not match expected CN=`<db_IP>'
Auf der Grundlage meiner Forschung so weit, es scheint, ich brauche eine Möglichkeit verify_peer Kontrolle zu deaktivieren, die offenbar PHP nicht gestattet. Können Sie dies bitte bestätigen und/oder eine Möglichkeit anbieten, SSL mit Google Cloud SQL von PHP zu verwenden?
Vielen Dank.
Ich bin auf der Suche nach so etwas (http://stackoverflow.com/questions/8443618/disable-certificate-verification-in-php-soapclient), aber für mysql. Vielen Dank! – user3376563
Können Sie [mit dem Befehlszeilen-Client 'mysql' eine Verbindung zu SSL herstellen (https://cloud.google.com/sql/docs/mysql-client#connect-ssl)? – Nick