ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.