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