2014-10-03 3 views
2

Я получаю следующее сообщение об ошибке при попытке подключения с моего ящика Windows, к моему Linux коробке:Ошибка при подключении PDO SSL

Warning: PDO::__construct(): SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number 

Это код подключения:

$dbE = new PDO(
        'mysql:dbname=db_name;host=host_ip;', 
        'username', 
        'password', 
        array(                      
          PDO::MYSQL_ATTR_SSL_KEY   =>'client_side_path\client-key.pem', 
          PDO::MYSQL_ATTR_SSL_CERT  =>'client_side_path\client-cert.pem', 
          PDO::MYSQL_ATTR_SSL_CA   =>'client_side_path\ca-cert.pem' 
        )         
        ); 
    $dbE->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    echo 'Connected'; 

Любые идеи приветствуются ,

+0

Открытый SSL настроен на вашем Linux-поле? –

+0

Я так считаю, но есть ли способ проверить это? – Ukuser32

+0

Запустите команду 'openssl version'. –

ответ

0

Исправлено. Причина заключалась в том, что путь на сервере B в ЦС был неправильным. Стоит отметить, что для исправления этого я попробовал соединение за пределами PHP непосредственно с сервера A, и у него возникла ошибка «плохое другое подтверждение подписи» - я тогда загрузил сертификат CA и обнаружил, что он пуст. Перезагрузите сервер, установите правильные пути как в my.cnf , так и в стартовый вызов сервера и все исправленные. Действительно стоит попробовать непосредственное соединение mysql, поскольку оно дало совершенно другую ошибку, которая была намного полезнее, чем PDO.

Смежные вопросы