我試圖將我的應用程序移動到Heroku,但是我通過PHP訪問數據庫時遇到問題。我能夠從本地機器訪問AWS數據庫,但是當我部署到Heroku時,它會失敗。無法在Heroku上訪問AWS RDS MySQL + PHP
我已經按照從主頁面方向:https://devcenter.heroku.com/articles/amazon-rds
而且我試過SO/AWS的其他線程:
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.SSLSupport
我也看到了這裏的說明: https://devcenter.heroku.com/articles/getting-started-with-php#provision-a-database
但我試圖移植現有的應用程序,所以我需要堅持我現有的PDO語法。我試圖得到這個工作:
$dbInfo = getenv('DATABASE_URL');
try{
$dbh = new PDO($dbInfo);
echo json_encode(array('outcome' => true));
}
catch(PDOException $ex){
echo json_encode(array('outcome' => false, 'message' => 'Unable to connect'));
}
我的環境變量設置正確,可以運行parse_url訪問所有的數組項的;我也有位於config文件夾中的amazon-rds-ca-cert.pem。
我能夠(通過SequelPro)遠程登錄,並運行在查詢管理下,試圖迫使SSL證書:
GRANT USAGE ON *.* TO 'username'@'%' REQUIRE SSL;
但是,當我故意拼錯了證書名稱我的本地數據庫可以仍然連接,這讓我想也許我錯過了一些需求。