Cambiar parámetros de una aplicación Symfony2 desde VirtualHost
La forma habitual de configurar una aplicación son Symfony2 es mediante el archivo parameters.ini, sin embargo es posible también realizar la configuración de estos parámetros desde la propia configuración del dominio en Apache. Esto nos permitiría por ejemplo configurar la conexión con la base de datos sin necesidad de tocar el código fuente de la aplicación. Esto es posible gracias a la flexibilidad con la que está construido el contenedor de servicios.
Symfony2 coge cualquier variable de entorno del servidor web que comience con la cadena «SYMFONY__» y la añade al contenedor de servicios para que estén disponibles en su activación.
En el siguiente ejemplo se crean 4 variables de entorno que indican la configuración de la base de datos. Se indica la base de datos, el servidor, el usuario y la contraseña.
<VirtualHost *:80> ServerName example.com DocumentRoot "/home/www/example.com/htdocs/web" SetEnv SYMFONY__DATABASE__NAME example_db SetEnv SYMFONY__DATABASE__HOST 192.168.1.1 SetEnv SYMFONY__DATABASE__USER userdb SetEnv SYMFONY__DATABASE__PASSWORD pwddb </VirtualHost> |
Estas variables son accesibles desde PHP eliminando el prefijo «SYMFONY__», sustituyendo los «__» por «.» y pasando los caracteres a minúsculas.
De esta forma el archivo de configuración parameters.ini
quedaría así.
doctrine: dbal: driver pdo_mysql dbname: %database.name% host: %database.host% user: %database.user% password: %database.password% |
Los comentarios están cerrados.