Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Añadir una instancia de Amazon RDS DB al entorno de PHP Elastic Beanstalk
En este tema se proporcionan instrucciones para crear un Amazon RDS mediante la consola de Elastic Beanstalk. Puede utilizar una instancia de base de datos de Amazon Relational Database Service (RDSAmazon) para almacenar los datos recopilados y modificados por la aplicación. La base de datos se puede adjuntar al entorno y administrarse con Elastic Beanstalk, o bien, crearse como desacoplada y administrarse de forma externa a través de otro servicio. En estas instrucciones, la base de datos se acopla a su entorno y se administra mediante Elastic Beanstalk. Para obtener más información sobre la integración de Amazon RDS con Elastic Beanstalk, consulte. Añadir una base de datos al entorno de Elastic Beanstalk
Secciones
Añadir una instancia de base de datos al entorno
Para agregar una instancia de base de datos al entorno
Abra la consola de Elastic Beanstalk
y, en la lista Regiones, seleccione su. Región de AWS -
En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.
nota
Si tiene muchos entornos, utilice la barra de búsqueda para filtrar la lista de entornos.
En el panel de navegación, elija Configuration (Configuración).
-
En la categoría de configuración Database (Base de datos), seleccione Edit (Editar).
-
Seleccione un motor de base de datos y escriba el nombre de usuario y la contraseña.
-
Para guardar los cambios, elija Aplicar en la parte inferior de la página.
Se tarda alrededor de 10 minutos en añadir una instancia de base de datos. Cuando se haya completado la actualización del entorno, el nombre de host de la instancia de base de datos y otra información de conexión estarán disponibles para su aplicación mediante las siguientes propiedades de entorno
Nombre de la propiedad | Descripción | Valor de la propiedad |
---|---|---|
|
El nombre de host de la instancia de base de datos. |
En la pestaña Conectividad y seguridad de la RDS consola de Amazon: Endpoint. |
|
El puerto en donde la instancia de base de datos acepta las conexiones. El valor predeterminado varía dependiendo del motor de base de datos. |
En la pestaña Conectividad y seguridad de la RDS consola de Amazon: Puerto. |
|
El nombre de la base de dato, |
En la pestaña Configuración de la RDS consola de Amazon: Nombre de base de datos. |
|
El nombre de usuario que ha configurado para la base de datos. |
En la pestaña Configuración de la RDS consola de Amazon: nombre de usuario principal. |
|
La contraseña que ha configurado para la base de datos. |
No está disponible como referencia en la RDS consola de Amazon. |
Para obtener más información sobre la configuración de una instancia de bases de datos acopladas a un entorno de Elastic Beanstalk, consulte Añadir una base de datos al entorno de Elastic Beanstalk.
Descargar un controlador
Para usar PHP Data Objects (PDO) para conectarse a la base de datos, instale el controlador que coincida con el motor de base de datos que haya elegido.
-
Mi SQL —
PDO_MYSQL
-
Postgre — SQL
PDO_PGSQL
-
Oracle:
PDO_OCI
-
SQLServidor —
PDO_SQLSRV
Para obtener más información, consulte http://php.net/manual/en/pdo.installation.php
Conexión a una base de datos con a PDO o M ySQLi
Puede utilizar $_SERVER[`
para leer la información de conexión del entorno.VARIABLE
`]
Para aPDO, cree un nombre de fuente de datos (DSN) a partir del host, el puerto y el nombre. Pase el DSN nombre de usuario y la contraseña PDO de la base de datos al constructor
ejemplo Conéctese a una RDS base de datos con PDO - Mi 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); ?>
Si utiliza otros controladores, sustituya mysql
por el nombre del controlador: pgsql
, oci
o sqlsrv
.
Para MySQLi, pase el nombre de host, el nombre de usuario, la contraseña, el nombre de la base de datos y el puerto al mysqli
constructor.
ejemplo Conectarse a una RDS base de datos con mysqli_connect ()
$link = new mysqli($_SERVER['RDS_HOSTNAME'], $_SERVER['RDS_USERNAME'], $_SERVER['RDS_PASSWORD'], $_SERVER['RDS_DB_NAME'], $_SERVER['RDS_PORT']);
Conexión a una base de datos con Symfony
Para Symfony versión 3.2 y posteriores, puede utilizar %env(
para establecer los parámetros de base de datos en un archivo de configuración en función de las propiedades de entorno establecidas por Elastic Beanstalk.PROPERTY_NAME
)%
ejemplo 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 External Parameters (Symfony 3.4)
Para versiones anteriores de Symfony, las variables de entorno solo están accesibles si comienzan por SYMFONY__
. Esto significa que las propiedades de entorno definidas por Elastic Beanstalk no están accesibles, por lo que deberá definir expresamente sus propiedades de entorno para pasar a Symfony la información de conexión.
Para conectarse a una base de datos con Symfony 2, cree una propiedad de entorno para cada parámetro. A continuación, utilice %
para obtener acceso a la variable transformada por Symfony en un archivo de configuración. Por ejemplo, a una propiedad del entorno denominada property.name
%SYMFONY__DATABASE__USER
se puede tener acceso como database.user
.
database_user: "%database.user%"
Consulte External Parameters (Symfony 2.8)