У нас есть PHP, работающий через mod_fastcgi + suexec, и кажется, что процессы PHP, запущенные таким образом, не видят переменные среды, установленные через SetEnv
в .htaccess
файл. Я проверил через скрипт perl и скрипт оболочки (оба запускаются через mod_cgid
), что SetEnv действительно устанавливает переменную (т.е. делать это разрешено AllowOverride
и mod_env
загружается). И я проверил через $_SERVER
, $_ENV
, getenv()
, $HTTP_ENV_VARS
и phpinfo()
что PHP не видит переменную. Я не пытался найти подходящее решение, но опубликую ответ, который является достойным решением.
Для тех, кто сталкивается с той же проблемой, неудобное, но быстрое решение - скопировать соответствующий SetEnv
-строки из .htaccess
файлы в VirtualHost
блоки конфигурации соответствующего домена и перезапустите Apache. Установленные таким образом переменные кажутся видимыми для PHP.