Назад | Перейти на главную страницу

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

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