Неверный document_root при дефолтном подключении fcgi

TDz tdz at modestus.org
Fri Feb 22 01:51:37 MSK 2008


Здравствуйте,

замечена интересная штука - дефолтный конфигурационный файл nginx передаёт
неверный document_root

В конфиге 1 хост с двумя стандартными локациями из дефолтного конфига
который поставляется в комплекте

location        /
        {
            index               index.php;
            root                /home/test;
        }

        location        ~* ^.+\.php$
        {
            fastcgi_pass   unix:...;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/test$fastcgi_script_name;
            include        fastcgi_params;
        }

При таком раскладе phpinfo сообщает следующее:

_SERVER["DOCUMENT_ROOT"] = /srv/nginx-new/html

Очевидно nginx посылет дефолтный путь, ибо указанного пути нигде в конфиге
нет (был изначально и как видно выше был заменён)

Насколько я понимаю этой переменной пользутся многие скрипты для своих нужд
и передавать её неверно не есть хорошо для стандартного конфига которым
будут пользоваться многие начинающие пользователи nginx. Возможно имеет
смысл использовать схожую декларацию предложенную где-то тут в рассылке:

            root           /home/test;
            fastcgi_pass   ...;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME
$document_root$fastcgi_script_name;
            include        fastcgi_params;

В этом случае и гибкость остаётся прежней, и править надо при мигрировании
как и раньше всего один параметр и заодно DOCROOT верно передаётся, уверен
проблему можно решить ещё как-то иначе
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080221/91408f3e/attachment.html>


More information about the nginx-ru mailing list