Как подключиться к экземпляру Amazon MySQL RDS через PHP через SSL - PullRequest
3 голосов
/ 14 января 2011

У меня есть экземпляр EC2, на котором работает сайт WordPress. БД WordPress находится на экземпляре RDS. Я хочу подключиться к БД через SSL.

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

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

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

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

Ответы [ 2 ]

4 голосов
/ 15 января 2011

Оказывается, это было менее сложно, чем я думал.Повышение уровня сообщений об ошибках обнаружило ошибку в моем коде, которую я не уловил.Использование 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 голос
/ 15 января 2011

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

$db = mysqli_init();
$db->ssl_set(null, 'https://rds.amazonaws.com/doc/mysql-ssl-ca-cert.pem', null, null, null);
...