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 SetEnv
diretiva:
<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>