Re: Неправильные (огромные) значения $request time для FastCGI-запросов

Alex Domoradov alex.hha at gmail.com
Mon Sep 2 08:21:15 UTC 2013


> Я даже и не знаю, что вам сказать
русская халява - она такая

2013/9/2 Maxim Dounin <mdounin at mdounin.ru>:
> Hello!
>
> On Sat, Aug 31, 2013 at 04:50:28PM -0400, sofiamay wrote:
>
>> А что, за год баг так и не исправили? Разрабы даже не удосужились здесь
>> отписаться? Баг хотябы в багтрекере висит?
>> Подтверждаю, у меня тоже $request_time выдаёт бред:
>>
>> 240648971536.2381542
>> 240648971536.2381542
>> 240648971536.2381542
>> 240648971536.2381542
>> 240648971536.2381542
>>
>> Одно и то же для многих запросов подряд, потом опять на другой бред меняет!
>> Когда это исправят? Зачем в Nginx сделана переменная $request_time если она
>> показывает всякий бред, мне думается её нужно убрать, а через несколько лет,
>> когда разрабы соизволят исправить баг, вернуть. Пока же от неё больше вреда
>> чем пользы.
>>
>> P.S. Использую Windows и PHP как FastCGI.
>
> Я даже и не знаю, что вам сказать.  Привыкайте - это open source.
> Тут вам никто ничего не должен, и править вылезающие у вас баги -
> вам.  Надеяться, что кто-то придёт, и за вас исправит, тем более
> на Windows - по меньшей мере наивно.
>
> Впрочем, патч:
>
> diff -r 683283f8b5fd src/http/modules/ngx_http_log_module.c
> --- a/src/http/modules/ngx_http_log_module.c    Thu Aug 29 20:39:13 2013 +0400
> +++ b/src/http/modules/ngx_http_log_module.c    Mon Sep 02 04:38:34 2013 +0400
> @@ -780,7 +780,7 @@ ngx_http_log_request_time(ngx_http_reque
>               ((tp->sec - r->start_sec) * 1000 + (tp->msec - r->start_msec));
>      ms = ngx_max(ms, 0);
>
> -    return ngx_sprintf(buf, "%T.%03M", ms / 1000, ms % 1000);
> +    return ngx_sprintf(buf, "%T.%03M", (time_t) ms / 1000, ms % 1000);
>  }
>
>
> diff -r 683283f8b5fd src/http/ngx_http_variables.c
> --- a/src/http/ngx_http_variables.c     Thu Aug 29 20:39:13 2013 +0400
> +++ b/src/http/ngx_http_variables.c     Mon Sep 02 04:38:34 2013 +0400
> @@ -1992,7 +1992,7 @@ ngx_http_variable_request_time(ngx_http_
>               ((tp->sec - r->start_sec) * 1000 + (tp->msec - r->start_msec));
>      ms = ngx_max(ms, 0);
>
> -    v->len = ngx_sprintf(p, "%T.%03M", ms / 1000, ms % 1000) - p;
> +    v->len = ngx_sprintf(p, "%T.%03M", (time_t) ms / 1000, ms % 1000) - p;
>      v->valid = 1;
>      v->no_cacheable = 0;
>      v->not_found = 0;
>
> --
> Maxim Dounin
> http://nginx.org/en/donation.html
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


Подробная информация о списке рассылки nginx-ru