ssi subrequest variables

proforg proforg at maloletka.ru
Mon May 1 00:33:29 MSD 2006


Примерно так я это и понял вспоминая фразу про параллельно выполняемый
подзапросы :)
Игорь, сделай пожалуйста, как выяснилось это временами очень важный момент
...


On 4/29/06, Igor Sysoev <is at rambler-co.ru> wrote:
>
> On Fri, 28 Apr 2006, proforg wrote:
>
> > да, это работает пока location "простой"
> > но если location где делается set var отдается по fcgi или proxy_pass
> > то значения переменных в основном запросе оказываются неопределены :(
>
> Да, есть такая проблема. Дело в том, что в случае позапросом к fastcgi
> или proxy_pass nginx инициирует соединение и продолжает выполнять SSI,
> то есть, все подзапросы к внешним серверам работают параллельно.
>
> Нужно будет сделать параметр wait:
> <!--# include virtual="/mmc_var" wait="yes"-->
>
> On 4/4/06, Igor Sysoev <is at rambler-co.ru> wrote:
> >
> > On Tue, 4 Apr 2006, proforg wrote:
> >
> > > On 4/4/06, Igor Sysoev <is at rambler-co.ru> wrote:
> > >
> > > On Tue, 4 Apr 2006, proforg wrote:
> > >
> > > > Снова про наследование ssi переменных из подзапросов :)
> > > > Ты помнится говорил что это не очень сложно сделать, может быть
> > > получится
> > > > включить это в следующщую версию nginx ?
> > >
> > > Какое именно наследование имеется ввиду ?
> > > Наследование в основной ssi из подзапроса ? Это должно работать.
> >
> > > да,  именно о нём.  вот  кусок из переписки где это обсуждалось (17
> > > февраля):
> >
> > Видимо, мы тогда не поняли друг друга. Вот такие два файла:
> >
> > <!--# include virtual="/ssi_inc2.html" -->value is <!--# echo var="NAME"
> > -->
> >
> > /ssi_inc2.html:
> > <!--# set var="NAME" value="TEXT" -->
> >
> > у меня выдают
> > value is TEXT
> >
> >
> > Игорь Сысоев
> > http://sysoev.ru
> >
> > >> В SSI можно попробовать примерно так:
> > >>
> > >> <!--# include virtual="/mmc_var" -->value is "<!--# echo var="NAME"
> > -->"
> > >>
> > >> /mmc_var возвращает что-то вроде
> > >>
> > >> <!--# set var="NAME" value="TEXT" -->
> > >>
> > >> Ответ в результате выглядит так:
> > >>
> > >> value is "TEXT"
> > >
> > > К сожалению, не получается.
> > > Если на локейшн /mmc_var поставить ssi on - то тогда <!--# set
> > > var="NAME" value="TEXT" --> выполняется, но на уровень скрипта который
> > > вызвал /mmc_var значение var не передается, т.к установлено внутри
> > > подзапроса.
> > > если же убрать ssi on, то <!--# set var="NAME" value="TEXT" --> просто
> > > выводится в основном скрипте - ssi фильтр делает один проход по тексту
> > > и обработать это уже не может ...
> > >
> > > Игорь, а можно как нить простым способом заставить ssi применяться
> > дважды
> > ?
> > > Для таких случаев. Это я думаю всё равно будет быстрее чем куча
> > подзапросов ...
> >
> > Сейчас - нет. Переменные создаваемые внутри SSI дальше текущего
> подзапроса
> > не хранятся. Надо будет исправить.
>
>
> Игорь Сысоев
> http://sysoev.ru
>
>


--
Alexej Bestchiokov
EMail/JID: proforg at maloletka.ru
phone: +7 495 7853149
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20060501/406eec8f/attachment.html>


More information about the nginx-ru mailing list