Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

SetEnv apache2, no funciona en mi proyecto Symfony2

10 de febrero de 2015

Tengo un problema a la hora de declarar variables de entorno usando la directiva SetEnv de apache2, no se porque razon las variables que declaro no se inyectan en el contenedor de servicios y además tampoco las puedo ver en la variable global $_SERVER de php.

He seguido estrictamente la documentación para ello: configuration Set external Parameters configurar bien apache

En la consola todo marcha bien ya que he exportado las variables al shell. Pero en el navegador recibo el siguiente error:

ParameterNotFoundException in ParameterBag.php line 106: You have requested a non-existent parameter
"database.name.cliente". Did you mean one of these: "database_driver_cliente", "database_host_cliente", 
"database_port_cliente"?

Este es mi virtual host:

# virtual host apache
<VirtualHost *:80>
    ServerName     xpad.seinet.com.local    
    ServerAlias    www.xpad.seinet.com.local  *.seinet.com.local www.*.seinet.com.local 
 
    SetEnv SYMFONY__DATABASE__NAME__CLIENTE cliente
    SetEnv SYMFONY__DATABASE__USER__CLIENTE cliente
        SetEnv SYMFONY__DATABASE__PASSWORD__CLIENTE cliente
 
    DocumentRoot   "/var/www/xpad-single/web"
        DirectoryIndex app.php
 
    <Directory "/var/www/xpad-single/web">
        AllowOverride None
        Require all granted     
        Allow from All
 
        <IfModule mod_rewrite.c>
                Options -MultiViews
                RewriteEngine On
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteRule ^(.*)$ app.php [QSA,L]
            </IfModule>         
    </Directory>
 
     Alias /editions_files /publicationProcess3/INPUT_FILES/
        <Directory "/publicationProcess3/INPUT_FILES/">
            AllowOverride All
        Require all granted
            Allow from All
        </Directory>
 
    ErrorLog /var/log/apache2/xpad-single_error.log
        CustomLog /var/log/apache2/xpad-single_access.log combined
 
    KeepAlive            On
    MaxKeepAliveRequests 200
    KeepAliveTimeout     5
 
    AddOutputFilterByType DEFLATE text/css text/plain text/html         application/xhtml+xml text/xml application/xml
 
     <IfModule mod_headers.c>
            Header append Vary User-Agent env=!dont-vary
 
            ExpiresActive On
            ExpiresDefault "now plus 1 week"
            ExpiresByType image/x-icon "now plus 1 month"
            ExpiresByType image/gif    "now plus 1 month"
            ExpiresByType image/png    "now plus 1 month"
            ExpiresByType image/jpeg   "now plus 1 month"
        </IfModule>
    <IfModule mod_expires.c>
            <Directory "/var/www/xpad-single/web/img/edicion_thumb">
                ExpiresActive On
                ExpiresDefault "access plus 1 month"
            </Directory>
    </IfModule> 
</VirtualHost>

Este es mi fichero de configuración principal config.yml:

connections:
            cliente:
                driver:   "%database_driver_cliente%"
                host:     "%database_host_cliente%"
                port:     "%database_port_cliente%"
                dbname:   "%database.name.cliente%"
                user:     "%database.user.cliente%"
                password: "%database.password.cliente%"
                charset:  UTF8

            xpad:
                driver:   "%database_driver_xpad%"
                host:     "%database_host_xpad%"
                port:     "%database_port_xpad%"
                dbname:   "%database_name_xpad%"
                user:     "%database_user_xpad%"
                password: "%database_password_xpad%"
                charset:  UTF8

Versiones: Server version: Apache/2.4.7 (Ubuntu) PHP 5.5.9-1ubuntu4.5 (cli) Symfony version 2.6.4 - app/dev/debug

Además tengo habilitados el mod_env y mod_rewrite.

No se qué estoy haciendo mal. Me puedes ayudar por favor.