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

Как я могу использовать SetEnv с mod_fcgid для передачи параметров виртуального хоста моему PHP-приложению? (apache2)

У меня возникли проблемы с выяснением того, как я должен обрабатывать что-то в FastCGI, которое довольно легко работает с mod_php. Раньше я использовал SetEnv чтобы передать параметры из моей директивы VirtualHost моему приложению PHP. Например:

SetEnv MYAPP_LOGGING_ROOT "/usr/local/myapp/logs"

Мне удалось получить доступ к этому значению из $_SERVER['MYAPP_LOGGING_ROOT'] и это был довольно удобный способ справиться с этим. Однако это значение не передается моему PHP-приложению в среде FastCGI.

Я пробовал следующее, но, похоже, это тоже не проходит до моего PHP-приложения:

FcgidInitialEnv MYAPP_LOGGING_ROOT "/usr/local/myapp/logs"

Мне не хватает чего-то простого или мне нужно делать что-то более сложное?

SetEnv работает с mod-fcgid. Моя конфигурация:

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
            FCGIWrapper /usr/lib/cgi-bin/php5
            AddHandler fcgid-script .php
            Options ExecCGI Indexes
            SetEnv MYAPP_LOGGING_ROOT "/usr/local/myapp/logs"
    </Directory>

foo.php:

<?php
    var_dump($_SERVER["MYAPP_LOGGING_ROOT"]);
?>

Тест:

curl localhost/foo.php 
string(21) "/usr/local/myapp/logs"