SetEnv в файле htaccess не работает с PHP-FPM
Я перехожу из предварительной настройки apache в режим событий с php-fpm. В режиме prefork я могу использовать директивы SetEnv в файле htaccess следующим образом:
SetEnv CI_ENV testing
И это значение заканчивается в PHP:
echo $_SERVER["CI_ENV"]; // outputs "testing"
Однако, когда apache находится в режиме события, это значение больше не попадает в PHP. Что-то сломано? Какой самый лучший, самый ортодоксальный способ исправить это? Должен ли я поместить команду SetEnv в директиву VirtualHost? В файле php-fpm.conf? Пожалуйста, порекомендуйте.
S
1 ответ
Всем должно быть приятно узнать, что вы можете поместить директиву SetEnv в VirtualHost в файл конфигурации apache, и это все еще работает, даже с PHP-FPM.
В моем случае это файл /etc/apache2/sites-available/default-ssl.conf:
sudo nano /etc/apache2/sites-available/default-ssl.conf
В пределах VirtualHost
там вы можете добавить свой SetEnv
директива:
<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>