我有一个运行WordPress网站的EC2实例。 WordPress数据库位于RDS实例上。我想通过SSL连接到数据库。
从我读过的内容来看,WordPress开箱即用的MySQL扩展不支持SSL。所以,我已经安装了一个使用MySQLi的WordPress数据库脚本,它支持SSL。
我遇到的问题是亚马逊只提供一个密钥文件(more info),而我在SSL上使用MySQLi找到的所有示例都包含至少3个文件:
$db = mysqli_init();
$db->ssl_set('server-key.pem','server-cert.pem','cacert.pem',NULL,NULL);
我可以从mysql命令行应用程序通过SSL连接到我的数据库。鉴于我只有1个文件,谁能告诉我需要做些什么来让PHP的MySQLi扩展工作?
答案 0 :(得分: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 :(得分:1)