Я перехожу от предварительной настройки 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
Всем должно быть приятно узнать, что вы можете поместить директиву 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>