ПРОЕКТЫ 


  АРХИВ 


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]

Re: 503 Service Temporarily Unavailable



Виктор, это не баг, а фича ... 
Игорь, а если в дочернем контексте указать $document_root=; 
что получится? 
или $document_root=''; например 

28.09.07, Igor Sysoev <is@xxxxxxxxxxxxx> написал(а):
On Fri, Sep 28, 2007 at 01:16:38PM +0400, Виктор Вислобоков wrote:

> > Переменные не наследуются. Наследуются директивы.
> > А значение переменных существует только на время выполнения запроса.
> >
>
> Но по факту это означает наследование переменных.
> Судите сами.
> В глобальном контексте устанавливается переменная $document_root
> Потом мы переходим в локальный контекст (server), где эта переменная не
> установлена. Тогда её значение берётся из глобальной секции. А почему?
> Потому что оно наследуется. В противном случае в локальном контексте
> переменная должна была бы быть неопределена. Ещё раз: в локальном контексте
> значение переменной оказывается определено, хотя специально её никто не
> определял. Откуда же взялось это значение? Оно УНАСЛЕДОВАНО из глобального
> контекста.
>
> Возможно вы правы, касательно терминологии, но сути это не меняет.
>
> Разумеется всё сказанное - моё IMHO. Автор - вы. Решать как это будет
> работать вам. У нас разные взгляды на данную проблему, но это нормально :)

$document_root - одна из немногих переменных, значение которой явно зависит
от директивы (root в данном случае). Поэтому и создаётся впечатление,
что она наследуется. Например, $remote_addr зависит только от клиента
и говорить о наследовании здесь бессмысленно. И большинство переменных -
такие же.


--
Игорь Сысоев
http://sysoev.ru


 


 




Copyright © Lexa Software, 1996-2009.