Я перехожу из настройки apache prefork в режим событий с 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>