Я пытаюсь подключиться к базе данных MySQL Rackspace Cloud с помощью PDO и SSL. Моя строка подключения:
$dbh = new PDO($serverAddress, $username, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
PDO::MYSQL_ATTR_SSL_CA =>'rackspace.pem',
PDO::MYSQL_ATTR_SSL_KEY => 'key.pem',
PDO::MYSQL_ATTR_SSL_CERT => 'cert.pem'
));
Это приводит к появлению сообщения «PDO :: __ construct (): операция SSL не выполнена с кодом 1. Сообщения об ошибках OpenSSL:
ошибка: 1408F10B: подпрограммы SSL: SSL3_GET_RECORD: неправильный номер версии «
rackspace.pem
предоставляется файл CA Rackspace Вот. key.pem
а также cert.pem
являются самозаверяющими сертификатами (с тем же полным доменным именем, что и rackspace.pem
). Это соединение успешно работает без SSL.
Я включил SSLv3 в конфигурации Apache моего сервера (не уверен, что это уместно здесь, так как это проблема PDO-вызывает-openssl).
Я могу подключиться к экземпляру БД через клиент MySQL. Там я вижу, что версия SSL — TLSv1 (интересно, это как-то связано с проблемой?).
Вещи, которые я прочитал об этом сообщении об ошибке (некоторые примеры — Ошибка 0x1408F10B: «SSL3_GET_RECORD: неправильный номер версии» с PayPal SDK, как решить SSL3_GET_RECORD: неправильный номер версии ошибка?) не имеют отношения к библиотеке PDO.
Любая помощь или направление будет высоко ценится! Спасибо!
Задача ещё не решена.
Других решений пока нет …