

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Adicionar uma instância de banco de dados do Amazon RDS ao seu ambiente PHP Elastic Beanstalk
<a name="create_deploy_PHP.rds"></a>

Este tópico fornece instruções para criar o Amazon RDS usando o console do Elastic Beanstalk. É possível usar uma instância de banco de dados do Amazon Relational Database Service (Amazon RDS) para armazenar dados coletados e modificados pela aplicação. O banco de dados pode ser acoplado ao seu ambiente e gerenciado pelo Elastic Beanstalk ou pode ser criado como desacoplado e gerenciado externamente por outro serviço. Nestas instruções, o banco de dados é acoplado ao ambiente e gerenciado pelo Elastic Beanstalk. Para obter mais informações sobre como integrar um Amazon RDS com o Elastic Beanstalk, consulte [Adição de um banco de dados ao seu ambiente do Elastic Beanstalk](using-features.managing.db.md).

**Topics**
+ [Adicionar uma instância de banco de dados ao seu ambiente](#php-rds-create)
+ [Download de um driver](#php-rds-drivers)
+ [Conectando-se a um banco de dados com um PDO ou My SQLi](#php-rds-connect)
+ [Conexão a um banco de dados com Symfony](#php-rds-symfony)

## Adicionar uma instância de banco de dados ao seu ambiente
<a name="php-rds-create"></a>

**Para adicionar uma instância de banco de dados ao ambiente**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

1. No painel de navegação, selecione **Ambientes** e selecione o nome do ambiente na lista.

1. No painel de navegação, escolha **Configuration (Configuração)**.

1. Na categoria de configuração **Database (Banco de dados)**, escolha **Edit (Editar)**.

1. Escolha um mecanismo de banco de dados e insira um nome de usuário e senha.

1. Para salvar as alterações, escolha **Apply (Aplicar)** na parte inferior da página.

A adição de uma instância de banco de dados leva cerca de 10 minutos. Quando a atualização do ambiente for concluída, o nome de host da instância de banco de dados e outras informações de conexão estarão disponíveis para o seu aplicativo por meio das seguintes propriedades de ambiente:


| Nome da propriedade | Descrição | Valor da propriedade | 
| --- | --- | --- | 
|  `RDS_HOSTNAME`  |  O nome do host da instância de banco de dados.  |  Na guia **Connectivity & security (Conectividade e segurança)** no console do Amazon RDS: **Endpoint**.  | 
|  `RDS_PORT`  |  A porta na qual a instância de banco de dados aceita conexões. O valor padrão varia entre os mecanismos de banco de dados.  |  Na guia **Connectivity & security (Conectividade e segurança)** do console do Amazon RDS: **Port (Porta)**.  | 
|  `RDS_DB_NAME`  |  O nome do banco de dado, **ebdb**.  |  Na guia **Configuration (Configuração)** no console do Amazon RDS: **DB Name (Nome do banco de dados)**.  | 
|  `RDS_USERNAME`  |  O nome de usuário que você configurou para seu banco de dados.  |  Na guia **Configuration (Configuração)** do console do Amazon RDS: **Nome de usuário primário**.  | 
|  `RDS_PASSWORD`  |  A senha que você configurou para seu banco de dados.  |  Não disponível para referência no console do Amazon RDS.  | 

Para obter mais informações sobre como configurar uma instância de banco de dados acoplada a um ambiente Elastic Beanstalk, consulte [Adição de um banco de dados ao seu ambiente do Elastic Beanstalk](using-features.managing.db.md).

## Download de um driver
<a name="php-rds-drivers"></a>

Para usar Objetos de dados PHP (PDO) para se conectar ao banco de dados, instale o driver que corresponde ao mecanismo de banco de dados que você escolheu.
+ **MySQL** – [http://php.net/manual/en/ref.pdo-mysql.php](http://php.net/manual/en/ref.pdo-mysql.php)
+ **PostgreSQL** – [http://php.net/manual/en/ref.pdo-pgsql.php](http://php.net/manual/en/ref.pdo-pgsql.php)
+ **Oracle**: [http://php.net/manual/en/ref.pdo-oci.php](http://php.net/manual/en/ref.pdo-oci.php)
+ **SQL Server** – [http://php.net/manual/en/ref.pdo-sqlsrv.php](http://php.net/manual/en/ref.pdo-sqlsrv.php)

Para obter mais informações, consulte [http://php.net/manual/en/pdo.installation.php](http://php.net/manual/en/pdo.installation.php).

## Conectando-se a um banco de dados com um PDO ou My SQLi
<a name="php-rds-connect"></a>

Você pode usar `$_SERVER[`VARIABLE`]` para ler as informações de conexão do ambiente.

Para obter um PDO, crie um Nome da Fonte de Dados (DSN) do host, porta e nome. Passe o DSN para o [construtor do PDO](https://php.net/manual/en/pdo.construct.php) com o nome de usuário e senha do banco de dados.

**Example Conexão com banco de dados RDS com PDO - MySQL**  

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

Para outros drivers, substitua `mysql` pelo nome do driver: `pgsql`, `oci` ou `sqlsrv`.

Para MySQLi, passe o nome do host, o nome do usuário, a senha, o nome do banco de dados e a porta para o `mysqli` construtor.

**Example Conexão com banco de dados RDS com mysqli\$1connect()**  

```
$link = new mysqli($_SERVER['RDS_HOSTNAME'], $_SERVER['RDS_USERNAME'], $_SERVER['RDS_PASSWORD'], $_SERVER['RDS_DB_NAME'], $_SERVER['RDS_PORT']);
```

## Conexão a um banco de dados com Symfony
<a name="php-rds-symfony"></a>

Para o Symfony versão 3.2 e mais recente, é possível usar `%env(PROPERTY_NAME)%` para definir os parâmetros de banco de dados em um arquivo de configuração com base nas propriedades do ambiente definidas pelo Elastic Beanstalk.

**Example 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)%'
```

Consulte [Parâmetros externos (Symfony 3.4)](http://symfony.com/doc/3.4/configuration/external_parameters.html) para obter mais informações.

Para versões anteriores do Symfony, as variáveis de ambiente estão acessíveis somente se elas começarem com `SYMFONY__`. Isso significa que as propriedades do ambiente definidas pelo Elastic Beanstalk não podem ser acessadas, e você deve definir suas próprias propriedades do ambiente para passar as informações de conexão para o Symfony.

Para se conectar a um banco de dados com o Symfony 2, [Crie uma propriedade de ambiente](create_deploy_PHP.container.md#php-console-properties) para cada parâmetro. Em seguida, use `%property.name%` para acessar a variável transformada por Symfony em um arquivo de configuração. Por exemplo, uma propriedade de ambiente chamada `SYMFONY__DATABASE__USER` é acessível como `database.user`.

```
    database_user:     "%database.user%"
```

Consulte [Parâmetros externos (Symfony 2.8)](http://symfony.com/doc/2.8/configuration/external_parameters.html) para obter mais informações.