SetEnv en el archivo htaccess no funciona con PHP-FPM

SetEnv en el archivo htaccess no funciona con PHP-FPM

Estoy pasando de una configuración de Apache previa a la bifurcación al modo de evento con php-fpm. En modo prefork, puedo usar directivas SetEnv en un archivo htaccess de la siguiente manera:

SetEnv CI_ENV testing

Y ese valor termina en PHP:

echo $_SERVER["CI_ENV"]; // outputs "testing"

Sin embargo, con Apache en modo evento, ese valor ya no ingresa a PHP. ¿Hay algo roto? ¿Cuál es la mejor y más ortodoxa forma de solucionar este problema? ¿Debo poner un comando SetEnv en la directiva VirtualHost? ¿En el archivo php-fpm.conf? Por favor avise.

S

Respuesta1

Todo el mundo debería estar encantado de saber que, de hecho, puedes poner una directiva SetEnv en tu VirtualHost en el archivo de configuración de Apache y esto todavía funciona, incluso con PHP-FPM.

En mi caso, ese archivo es/etc/apache2/sites-available/default-ssl.conf:

sudo nano /etc/apache2/sites-available/default-ssl.conf

Dentro de VirtualHostallí, puede agregar su SetEnvdirectiva:

    <VirtualHost _default_:443>
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html

            # ETC ETC ETC

            # added because it doesn't work from .htaccess file with PHP-FPM
            SetEnv CI_ENV testing

            # ETC ETC ETC
    </VirtualHost>

información relacionada