[英]How to connect to an Amazon MySQL RDS instance via PHP over SSL
我有一个运行WordPress站点的EC2实例。 WordPress数据库位于RDS实例上。 我想通过SSL连接到数据库。
根据我的阅读,WordPress开箱即用的MySQL扩展不支持SSL。 所以,我已经安装了一个使用MySQLi的WordPress数据库脚本,它支持SSL。
我遇到的问题是亚马逊只提供一个密钥文件( 更多信息 ),我可以通过SSL使用MySQLi找到的所有示例包括至少3个文件:
$db = mysqli_init();
$db->ssl_set('server-key.pem','server-cert.pem','cacert.pem',NULL,NULL);
我可以从mysql命令行应用程序连接到我的db over SSL。 鉴于我只有1个文件,谁能告诉我需要做些什么才能让PHP的MySQLi扩展工作?
事实证明这并不像我想象的那么复杂。 打开错误报告级别会在我的代码中发现一个我没有抓到的错误。 使用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);
试试这个:
$db = mysqli_init();
$db->ssl_set(null, 'https://rds.amazonaws.com/doc/mysql-ssl-ca-cert.pem', null, null, null);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.