On Fri, Sep 28, 2007 at 02:02:00PM +0400, Alexey Karagodov wrote:
> Виктор, это не баг, а фича ... Игорь, а если в дочернем контексте > указать $document_root=; > что получится? > или $document_root=''; например
$document_root нельзя переопределить через set. По крайней мере, сейчас.
> 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
> > > >