htaccess 파일의 SetEnv가 PHP-FPM에서 작동하지 않습니다.

htaccess 파일의 SetEnv가 PHP-FPM에서 작동하지 않습니다.

저는 prefork Apache 설정에서 php-fpm을 사용하여 이벤트 모드로 전환하고 있습니다. 프리포크 모드에서는 다음과 같이 htaccess 파일에 SetEnv 지시문을 사용할 수 있습니다.

SetEnv CI_ENV testing

그리고 그 값은 PHP로 끝납니다:

echo $_SERVER["CI_ENV"]; // outputs "testing"

그러나 이벤트 모드의 Apache를 사용하면 해당 값이 더 이상 PHP에 입력되지 않습니다. 뭔가 고장난 걸까요? 이 문제를 해결하는 가장 좋고 가장 전통적인 방법은 무엇입니까? VirtualHost 지시문에 SetEnv 명령을 넣어야 합니까? php-fpm.conf 파일에서? 조언해주세요.

에스

답변1

실제로 아파치 구성 파일의 VirtualHost에 SetEnv 지시문을 넣을 수 있으며 이는 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>

관련 정보