SetEnv в файле htaccess не работает с PHP-FPM

SetEnv в файле htaccess не работает с PHP-FPM

Я перехожу с 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>

Связанный контент