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