Re: Появляются лишние символы при использовании SSI echo.

Владислав Щапов phprus at gmail.com
Mon Feb 16 16:22:06 MSK 2009


Здравствуйте.
Nginx и так был собран с --with-debug.
Жаль, что дебаг лог я вчера включить не догадался. Сегодня при помощи ab
сделал более 10к запросов к различным страничкам и в том числе к проблемным,
но все запросы окончились успешно, те размеры отдаваемых страниц были точно
такие какие должны были быть, да и ручное кликание по ссылкам результата не
дало. Буду продолжать попытки воспроизвести баг.

Кусок HTML'я в котором выводятся некорректное значение вот такой:

<!--# if expr="$account" -->
    <li class="tab3  <!--# echo var="arg_menu_account" default="" -->">
        <a href="/account/">Мой аккаунт</a>
        <ul class="submenu tab_cnt_2">
            <li><a href="/account/">Мой аккаунт</a></li>
            <li><a href="/account/EditPasswd">Изменить email и
пароль</a></li>
            <!-- <li><a href="/account/Setting">Настройки</a></li> -->
        </ul>
    </li>
<!--# endif -->

Ожидается, что на месте <!--# echo var="arg_menu_account" default="" -->
выведется selected, но выводилось следующее: "selected85;", "selectedml?m" а
так-же другие символы(в том числе и не алфавитно-цифровые) которых я не
помню.

nginx скомпилирован таким образом:
./configure --prefix=/usr/local/nginx \
            --error-log-path=/var/log/nginx/error.log \
            --http-log-path=/var/log/nginx/access.log \
            --http-client-body-temp-path=/var/spool/nginx/client_body_temp \
            --http-proxy-temp-path=/var/spool/nginx/proxy_temp \
            --http-fastcgi-temp-path=/var/spool/nginx/fastcgi_temp \
            --pid-path=/var/run/nginx/nginx.pid \
            --with-http_ssl_module \
            --with-http_sub_module \
            --with-http_gzip_static_module \
            --with-http_addition_module \
            --with-http_flv_module \
            --with-http_xslt_module \
            --with-http_secure_link_module \
            --with-http_dav_module \
            --with-debug


16 февраля 2009 г. 1:56 пользователь Maxim Dounin <mdounin at mdounin.ru>написал:

> Hello!
>
> On Sun, Feb 15, 2009 at 11:10:11PM +0500, Владислав Щапов wrote:
>
> > Накаркал. Сейчас эти лишние символы стали появляться буквально через раз,
> но
> > зато удалось заметить, что их либо 3 либо 4 штуки. :(
> >
> > Кстати забыл еще упомянуть такую деталь, что этот echo находится внутри
> if'а
> > который проверяет существование другой переменной, которая
> устанавливается
> > или не устанавливается в подключаемой внешним файлом при помощи include
>> > указанием параметра wait="yes") html-странице.
>
> Постарайтесь сделать debug log для запроса, на котором проявляется
> проблема.  Для этого надо собрать nginx с параметром configure
> --with-debug.  Логгирование с уровнем debug можно включить для
> конкретных ip-адресов так:
>
> events {
>    ...
>    debug_connection  127.0.0.1;
>    debug_connection  192.168.0.0/16;
> }
>
> Имея debug log можно будет пытаться что-то понять (также
> желательно полный исходный код ssi-страницы, и результат запроса с
> видимой проблемой).
>
> Maxim Dounin
>
> >
> > 15 февраля 2009 г. 18:49 пользователь Владислав Щапов <phprus at gmail.com
> >написал:
> >
> > > Здравствуйте.
> > > Есть nginx 0.7.34
> > > Столкнулся с тем, что при использовании конструкции <!--# echo
> > > var="arg_menu_account" default="" --> после самого значения параметра
> иногда
> > > выводятся несколько левых символов (два раза выводились 3 лишних
> символа,
> > > один раз 4). Параметр menu_account в строке запроса имеет значение
> selected.
> > > Специально воспроизвести эту проблему не получилось.
> > >
> > > Подскажите пожалуйста, в чем может быть причина такого странного
> поведения
> > > Nginx?
> > >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090216/93efcf8d/attachment.html>


More information about the nginx-ru mailing list