2011-01-14 259 views
3

我有一個運行WordPress站點的EC2實例。 WordPress數據庫在RDS實例上。我想通過SSL連接到數據庫。如何通過SSL通過PHP連接到Amazon MySQL RDS實例

從我讀到的,WordPress使用的MySQL擴展不支持SSL。所以,我安裝了一個使用MySQLi的WordPress數據庫腳本,它支持SSL。

我遇到的問題是,亞馬遜僅供一個密鑰文件(more info),和所有的例子我能找到使用的MySQLi通過SSL包括至少3個文件:

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

我能夠連接從MySQL命令行應用程序通過SSL我的數據庫。任何人都可以告訴我,爲了讓PHP的MySQLi擴展工作,我需要做什麼,因爲我只有1個文件?

+0

如果你跳過這些參數會發生什麼? – profitphp 2011-01-14 21:01:30

回答

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);