

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Aggiungere un'istanza Amazon RDS DB al tuo ambiente PHP Elastic Beanstalk
<a name="create_deploy_PHP.rds"></a>

Questo argomento fornisce istruzioni per creare un Amazon RDS utilizzando la console Elastic Beanstalk. Puoi utilizzare un'istanza database Amazon Relational Database Service (Amazon RDS) per archiviare i dati raccolti e modificati dall'applicazione. Il database può essere accoppiato all'ambiente e gestito da Elastic Beanstalk oppure può essere creato e gestito esternamente da un altro servizio. In queste istruzioni il database è accoppiato all'ambiente e gestito da Elastic Beanstalk. Per ulteriori informazioni sull'integrazione di un Amazon RDS con Elastic Beanstalk, consulta [Aggiunta di un database all'ambiente Elastic Beanstalk](using-features.managing.db.md).

**Topics**
+ [Aggiunta di un'istanza database all'ambiente](#php-rds-create)
+ [Download di un driver](#php-rds-drivers)
+ [Connessione a un database con PDO o My SQLi](#php-rds-connect)
+ [Connessione a un database con Symfony](#php-rds-symfony)

## Aggiunta di un'istanza database all'ambiente
<a name="php-rds-create"></a>

**Per aggiungere un'istanza database al tuo ambiente**

1. Apri la console [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) e, **nell'elenco Regioni, seleziona la tua**. Regione AWS

1. Nel pannello di navigazione selezionare **Environments** (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

1. Nel pannello di navigazione, selezionare **Configuration** (Configurazione).

1. Nella categoria di configurazione del **Database**, scegliere **Edit (Modifica)**.

1. Scegliere un motore di database e immettere un nome utente e una password.

1. Per salvare le modifiche scegli **Apply** (Applica) nella parte inferiore della pagina.

L'aggiunta di un'istanza database richiede circa 10 minuti. Quando l'aggiornamento dell'ambiente è completo, il nome host dell'istanza database e altre informazioni di connessione sono disponibili per la tua applicazione tramite le seguenti proprietà dell'ambiente:


| Nome proprietà | Descrizione | Valore proprietà | 
| --- | --- | --- | 
| `RDS_HOSTNAME` | Il nome host dell'istanza DB. | Nella scheda **Connectivity & security** (Connettività e sicurezza) della console Amazon RDS: **Endpoint**. | 
| `RDS_PORT` | La porta su cui l'istanza database accetta le connessioni. Il valore predefinito varia tra i motori di database. | Nella scheda **Connectivity & security (Connettività e sicurezza)** della console Amazon RDS: **Port (Porta)**. | 
| `RDS_DB_NAME` | Il nome del database, **ebdb**. | Nella scheda **Configuration (Configurazione)** della console Amazon RDS: **DB Name (Nome DB)**. | 
| `RDS_USERNAME` | Il nome utente configurato per il database. | Nella scheda **Configuration (Configurazione)** della console Amazon RDS: **Master username (Nome utente master)**. | 
| `RDS_PASSWORD` | La password configurata per il database. | Non disponibile per riferimento nella console Amazon RDS. | 

Per ulteriori informazioni sulla configurazione di un'istanza di database accoppiata a un ambiente Elastic Beanstalk, consulta [Aggiunta di un database all'ambiente Elastic Beanstalk](using-features.managing.db.md).

## Download di un driver
<a name="php-rds-drivers"></a>

Per usare PHP Data Objects (PDO) per la connessione al database, installa il driver corrispondente al motore di database scelto.
+ **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)

Per ulteriori informazioni, consulta [http://php.net/manual/en/pdo.installation.php](http://php.net/manual/en/pdo.installation.php).

## Connessione a un database con PDO o My SQLi
<a name="php-rds-connect"></a>

Puoi utilizzare `$_SERVER[`{{VARIABLE}}`]` per leggere le informazioni di connessione dall'ambiente.

Per un PDO, crea un nome di origine dati (DSN) dall'host, dalla porta e dal nome. Trasferisci il DSN al [costruttore per il PDO](https://php.net/manual/en/pdo.construct.php) con il nome utente e la password del database.

**Example Connessione a un database RDS con 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);
?>
```

Per gli altri driver, sostituisci `mysql` con il nome del tuo driver: `pgsql`, `oci` o `sqlsrv`.

Per MySQLi, passa il nome host, il nome utente, la password, il nome del database e la porta al `mysqli` costruttore.

**Example Connessione a un database RDS con mysqli\_connect()**  

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

## Connessione a un database con Symfony
<a name="php-rds-symfony"></a>

Per Symfony 3.2 e versioni successive, puoi utilizzare `%env({{PROPERTY_NAME}})%` per impostare i parametri di database in un file di configurazione in base alle proprietà dell'ambiente stabilite da 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)%'
```

Per ulteriori informazioni, consultare la sezione sui [parametri esterni (Symfony 3.4)](http://symfony.com/doc/3.4/configuration/external_parameters.html).

Per le versioni precedenti di Symfony, le variabili di ambiente sono accessibili solo se iniziano con `SYMFONY__`. Questo significa che le proprietà di ambiente definite da Elastic Beanstalk non sono accessibili e che occorre definire delle proprietà di ambiente personalizzate per trasmettere le informazioni di connessione a Symfony.

Per connetterti a un database con Symfony 2, [crea una proprietà dell'ambiente](create_deploy_PHP.container.md#php-console-properties) per ciascun parametro. Successivamente, utilizza `%{{property.name}}%` per accedere alla variabile trasformata per Symfony in un file di configurazione. Ad esempio, si può accedere a una proprietà di ambiente denominata `SYMFONY__DATABASE__USER` come `database.user`.

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

Per ulteriori informazioni, consultare la sezione sui [parametri esterni (Symfony 2.8)](http://symfony.com/doc/2.8/configuration/external_parameters.html).