응용 프로그램을 Heroku로 이동하려고하는데 PHP를 통해 데이터베이스에 액세스하는 데 문제가 있습니다. 내 컴퓨터에서 AWS 데이터베이스에 로컬로 액세스 할 수 있지만 Heroku에 배포하면 실패합니다.AWS RDS에 액세스 할 수 없습니다. Heroku의 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를 실행할 수 있습니다; 또한 amazon-rds-ca-cert.pem이 config 폴더에 있습니다.
나는 (SequelPro를 통해) 원격으로 로그인 할 수있어 및 SSL 인증서 강제로 시도하는 쿼리 관리자에서 다음을 실행 한 :
GRANT USAGE ON *.* TO 'username'@'%' REQUIRE SSL;
을하지만 의도적으로 인증서 이름을 잘못 입력하면 내 로컬 데이터베이스 수 여전히 연결되어있어 요구 사항이 누락 된 것 같아요.