4

我有一个运行 WordPress 站点的 EC2 实例。WordPress 数据库位于 RDS 实例上。我想通过 SSL 连接到数据库。

根据我的阅读,WordPress 开箱即用的 MySQL 扩展不支持 SSL。所以,我安装了一个使用 MySQLi 的 WordPress 数据库脚本,它支持 SSL。

我遇到的问题是亚马逊只提供一个密钥文件(更多信息),我能找到的使用 MySQLi over SSL 的所有示例至少包括 3 个文件:

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

我可以从 mysql 命令行应用程序通过 SSL 连接到我的数据库。鉴于我只有 1 个文件,谁能告诉我我需要做什么才能让 PHP 的 MySQLi 扩展工作?

4

2 回答 2

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);
于 2011-01-14T22:25:08.033 回答
1

试试这个:

$db = mysqli_init();
$db->ssl_set(null, 'https://rds.amazonaws.com/doc/mysql-ssl-ca-cert.pem', null, null, null);
于 2011-01-14T21:50:31.550 回答