SetEnv no arquivo htaccess não funciona com PHP-FPM

SetEnv no arquivo htaccess não funciona com PHP-FPM

Estou mudando de uma configuração pré-fork do Apache para o modo de evento com php-fpm. No modo prefork, posso usar diretivas SetEnv em um arquivo htaccess da seguinte forma:

SetEnv CI_ENV testing

E esse valor acaba em PHP:

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

Porém, com o apache no modo de evento, esse valor não entra mais no PHP. Algo está quebrado? Qual é a maneira melhor e mais ortodoxa de corrigir isso? Devo colocar um comando SetEnv na diretiva VirtualHost? No arquivo php-fpm.conf? Por favor, avise.

S

Responder1

Todos ficarão maravilhados em saber que você pode de fato colocar uma diretiva SetEnv em seu VirtualHost no arquivo de configuração do Apache e isso ainda funciona, mesmo com PHP-FPM.

No meu caso, esse arquivo é/etc/apache2/sites-available/default-ssl.conf:

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

Dentro dele VirtualHost, você pode adicionar sua SetEnvdiretiva:

    <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>

informação relacionada