將 Amazon RDS 數據庫實例添加到您的 E PHP lastic Beanstalk 環境 - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將 Amazon RDS 數據庫實例添加到您的 E PHP lastic Beanstalk 環境

本主題提供RDS使用 Elastic Beanstalk 主控台建立 Amazon 的指示。您可以使用 Amazon Relational Database Service (AmazonRDS) 資料庫執行個體來存放應用程式收集和修改的資料。資料庫可與環境耦合並由 Elastic Beanstalk 管理,或者由另一項服務在外部分開建立與管理。在這些指令中,數據庫耦合到您的環境中,並由 Elastic Beanstalk 管理。有關將 Amazon RDS 與 Elastic Beanstalk 集成的更多信息,請參閱。將資料庫新增至您的 Elastic Beanstalk 環境

將資料庫執行個體新增到您的環境

欲將資料庫執行個體新增到您的環境
  1. 開啟彈性魔豆控制台,然後在區域清單中選取您的. AWS 區域

  2. 在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。

    注意

    如果您有許多環境,請使用搜尋列來篩選環境清單。

  3. 在導覽窗格中,選擇 Configuration (組態)

  4. Database (資料庫) 組態類別中,選擇 Edit (編輯)

  5. 選擇資料庫引擎,並輸入使用者名稱和密碼。

  6. 若要儲存變更,請選擇頁面底部的儲存變更

新增資料庫執行個體約需要 10 分鐘。環境更新完成時,資料庫執行個體的主機名稱和其他連線資訊會透過下列環境屬性提供給您的應用程式:

屬性名稱 描述 屬性值

RDS_HOSTNAME

資料庫執行個體的主機名稱。

在 Amazon RDS 主控台的「連線和安全性」索引標籤上:端點

RDS_PORT

資料庫執行個體接受連線的連接埠。預設值在不同資料庫引擎中有所差異。

Amazon RDS 主控台上的「連線和安全性」索引標籤上:連接

RDS_DB_NAME

資料庫名稱,ebdb

在 Amazon RDS 主控台的「組態」索引標籤上:資料庫名稱

RDS_USERNAME

您為資料庫設定的使用者名稱。

在 Amazon RDS 主控台的「組態」索引標籤上:主要使用者名稱

RDS_PASSWORD

您為資料庫設定的密碼。

在 Amazon RDS 控制台中不提供參考。

如需設定與 Elastic Beanstalk 環境耦合之資料庫執行個體的相關詳細資訊,請參閱 將資料庫新增至您的 Elastic Beanstalk 環境

下載驅動程式

若要使用 PHP Data Objects (PDO) 連線至資料庫,請安裝與您選擇的資料庫引擎相符的驅動程式。

如需詳細資訊,請參閱http://php.net/manual/en/pdo.installation.php

使用PDO或 M 連接到數據庫 ySQLi

您可以使用 $_SERVER[`VARIABLE`],自環境讀取連線資訊。

對於 aPDO,請從主機、連接埠和名稱建立資料來源名稱 (DSN)。DSN將PDO具有資料庫使用者名稱和密碼的建構函式傳遞至的建構函式。

範例 Connect 到數RDS據庫 PDO-我的 SQL
<?php $dbhost = $_SERVER['RDS_HOSTNAME']; $dbport = $_SERVER['RDS_PORT']; $dbname = $_SERVER['RDS_DB_NAME']; $charset = 'utf8' ; $dsn = "mysql:host={$dbhost};port={$dbport};dbname={$dbname};charset={$charset}"; $username = $_SERVER['RDS_USERNAME']; $password = $_SERVER['RDS_PASSWORD']; $pdo = new PDO($dsn, $username, $password); ?>

以其他驅動程式而言,請將 mysql 取代為您驅動程式的名稱 pgsqlocisqlsrv

對於 MySQLi,將主機名,用戶名,密碼,數據庫名稱和端口傳遞給mysqli構造函數。

範例 Connect 到一個RDS數據庫與 mysqli_connect ()
$link = new mysqli($_SERVER['RDS_HOSTNAME'], $_SERVER['RDS_USERNAME'], $_SERVER['RDS_PASSWORD'], $_SERVER['RDS_DB_NAME'], $_SERVER['RDS_PORT']);

使用 Symfony 連接至資料庫

對於 Symfony 3.2 版和更新版本,您可以根據 Elastic Beanstalk 設定的環境屬性,使用 %env(PROPERTY_NAME)% 在組態檔案中設定資料庫參數。

範例 app/config/parameters.yml
parameters: database_driver: pdo_mysql database_host: '%env(RDS_HOSTNAME)%' database_port: '%env(RDS_PORT)%' database_name: '%env(RDS_DB_NAME)%' database_user: '%env(RDS_USERNAME)%' database_password: '%env(RDS_PASSWORD)%'

如需詳細資訊,請參閱外部參數 (Symfony 3.4)

對於舊版 Symfony,只能存取開頭為 SYMFONY__ 的環境變數。這表示無法存取 Elastic Beanstalk 定義的環境屬性,您必須定義自己的環境屬性以傳遞 Symfony 的連線資訊。

若要連接資料庫與 Symfony 2,建立環境屬性給每個參數。然後,使用 %property.name% 於存取組態檔中 Symfony 轉換的變數。例如,名為 SYMFONY__DATABASE__USER 的環境屬性可當成 database.user 存取。

database_user: "%database.user%"

如需詳細資訊,請參閱外部參數 (Symfony 2.8)