2011-01-14 3 views
3

У меня есть экземпляр EC2 с сайтом WordPress. WordPress db находится в экземпляре RDS. Я хочу подключиться к db через SSL.Как подключиться к экземпляру RDS Amazon MySQL через PHP через SSL

Из того, что я читал, расширение MySQL, используемое WordPress из коробки, не поддерживает SSL. Итак, я установил сценарий db WordPress, который использует MySQLi, который поддерживает SSL.

Проблема я столкнулся в том, что Amazon поставляет только один ключевой файл (more info), и все примеры, которые я могу найти с помощью MySQLi через SSL включать по крайней мере 3 файла:

$db = mysqli_init(); 
$db->ssl_set('server-key.pem','server-cert.pem','cacert.pem',NULL,NULL); 

Я могу подключиться к моему db через SSL из приложения командной строки mysql. Может ли кто-нибудь сказать мне, что мне нужно сделать, чтобы заставить PHP-расширение MySQL работать, учитывая, что у меня есть только 1 файл?

+0

Что произойдет, если вы пропустите эти параметры? – profitphp

+0

Только примечание, Amazon docs заявляют, что в пределах того же трафика в регионе никогда не выходит из сети Amazon. Таким образом, это включает трафик между всеми зонами доступности в пределах одного конкретного региона. –

+0

Кроме того, было ли имя/ссылка на «сценарий WordPress db, который использует MySQLi»? Благодаря! –

ответ

4

Оказывается, это было менее сложным, чем я думал. Включение уровня отчетности об ошибках выявило ошибку в моем коде, которую я не поймал. Использование ssl_set таким образом работает:

$db = mysqli_init(); 
$db->ssl_set(NULL,NULL,'/path/to/mysql-ssl-ca-cert.pem',NULL,NULL); 
$db->real_connect($dbhost,$dbuser,$dbpassword,$dbname); 
1

Попробуйте это:

$db = mysqli_init(); 
$db->ssl_set(null, 'https://rds.amazonaws.com/doc/mysql-ssl-ca-cert.pem', null, null, null); 
Смежные вопросы