Nous avons un serveur avec mysql sur le port 3306. Nous avons des sertifications et la clé et nous essayons de connectez-vous à ce serveur. Mais nous voyons un tel problème:php 5.x 7.x, ssl erreur pdo: Certificat d'homologue CN = `someName 'ne correspond pas prévu CN =' someIP '
Peer certificate CN='SomeName' did not match expected CN='someIP'
J'ai lu beaucoup d'articles et ne trouve pas de réponse pour PDO PHP. Le plus intéressant est que le SQLYog pourrait se connecter avec tous les paramètres. J'ai lu que je check_peer_names peut être désactivé (j'espère que je comprends ce que peer_names ...), mais seulement si nous utilisons openssl_ {functions} ou mysqli, pas PDO. Les deux options ne sont pas appropriées pour moi. J'ai besoin de PDO.
Ce que j'ai essayé de faire:
- basculer entre les versions de php. Cela m'a aidé, mais j'ai besoin de 5,6 ou plus. Pour PHP 7.0 la même erreur.
- trouver une autre version de openssl et pdo; rapide j'ai compris que c'est une mauvaise idée :)
- trouver quelques paramètres dans php.ini, mais pas de paramètres pour mon problème, seulement pour la création de SSL.
Mon code pour la connexion:
$dbInfo = array
(
'dsn' => 'mysql:host=123.45.67.890;dbname=someDB;port=3306',
'user' => 'user',
'pass' => 'userpassword'
);
$con = new PDO
(
$dbInfo['dsn'], $dbInfo['user'], $dbInfo['pass'],
array(
PDO::MYSQL_ATTR_SSL_CIPHER => 'AES256-SHA',
PDO::MYSQL_ATTR_SSL_CA => 'SSLCert/ca-cert.pem',
PDO::MYSQL_ATTR_SSL_KEY => 'SSLCert/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT => 'SSLCert/client-cert.pem',
)
);
echo 'Connection OK!';
C'est un problème connu, voir: [bug php # 71003] (https://bugs.php.net/bug.php?id=71003) –
Merci l'homme! Mais je ne comprends toujours pas ce que j'ai à faire avec la connexion SSL. J'ai lu qu'ils le corrigent dans un patch, ils creusent openssl lib, mais d'abord je ne suis pas bon à creuser à l'intérieur d'une lib, ensuite - ce n'est pas une bonne idée de corriger la librairie par moi-même. Peut-être que je suis carelles et n'ai pas trouvé la réponse ... Si vous avez travaillé et résolu ce problème par vous-même - pouvez-vous me donner une idée de ce que je dois faire? –