ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Неверный document_root при дефолтном подключении fcgi
  • From: TDz <tdz@xxxxxxxxxxxx>
  • Date: Thu, 21 Feb 2008 23:51:37 +0100

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

замечена интересная штука - дефолтный конфигурационный файл 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 верно передаётся, уверен проблему можно решить ещё как-то иначе


 




Copyright © Lexa Software, 1996-2009.