Я получаю следующую ошибку при попытке подключиться из моего окна Windows в мой ящик Linux:
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';
Любые идеи приветствуются.
Починил это. Причина была в том, что путь на сервере B к CA был неправильным. Стоит отметить, что для исправления этого я попытался установить соединение вне PHP напрямую с сервера А, и он обнаружил ошибку «неверное подтверждение другой подписи» — затем я загрузил сертификат CA и обнаружил, что оно пустое. Перезагрузил сервер, установил правильные пути в обоих my.cnf а также на сервере стартовый звонок и все исправлено. Действительно, стоит попробовать прямое соединение mysql, поскольку оно выдает совершенно другую ошибку, которая была гораздо более полезной, чем PDO.
Других решений пока нет …