У меня есть удаленный сервер MySQL, который требует от меня использования SSL для соединений. Я могу подключиться к нему с помощью своего терминала. Но когда я пытаюсь подключиться к нему с помощью PHP, я получаю следующую ошибку:
SSL3_GET_RECORD:wrong version number
Кажется, что рукопожатие OPENSSL не удается, и причина может заключаться в том, что мой PHP пытается подключиться к нему с помощью SSL3. Сервер MySQL поддерживает только TLSv1.2. Есть ли способ заставить PHP подключаться с помощью TLSv1.2?
Вот мой код, используемый для подключения:
<?php
ini_set ('error_reporting', E_ALL);
ini_set ('display_errors', '1');
error_reporting (E_ALL|E_STRICT);
$db = mysqli_init();
mysqli_options ($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$db->ssl_set(NULL, NULL, '/path/to/ca-cert.pem' , NULL, NULL);
$link = mysqli_real_connect ($db, 'hostname', 'user', 'password', 'dbname', 3306, NULL, MYSQLI_CLIENT_SSL);
if (!$link)
{
die ('Connect error (' . mysqli_connect_errno() . '): ' . mysqli_connect_error() . "\n");
} else {
$res = $db->query('SHOW TABLES;');
print_r ($res);
$db->close();
}
?>
Что я пробовал и возможные проблемы:
Короче, Help!