CGI::Fast && $ENV{HTTP_*}

Peter Vereshagin peter at vereshagin.org
Mon Sep 1 16:53:06 MSD 2008


God love is hard to find. You got lucky, Igor!

возвращаюсь к давней проблеме с FCGI::ProcManager, может у кого тоже возникает, так вот, сообщаю, что трафик по сокету не дампил, а проблема исчезла после перехода nginx с 0.5 на 0.7.
Заодно сообщаю всем почтенным о новом релизе FCGI::Spawn --- модуля, позволяющего пользоваться преимуществами FCGI::ProcManager с минимальным знанием perl ( не сложнее, чем запрячь php в fastcgi ).
Будет интересно почитать о test cases на мою почту: peter at vereshagin.org .

2008/07/31 01:14:34 +0400 Igor Sysoev <is at rambler-co.ru> => To nginx-ru at sysoev.ru :
IS> > IS> > ===
IS> > IS> > map { $ENV{ $_ } = $ENV{ "HTTP_$_" } } qw/CONTENT_LENGTH CONTENT_TYPE/
IS> > IS> >       if $ENV{ 'REQUEST_METHOD' } eq 'POST';
IS> > IS> > ===
IS> > IS> > 
IS> > IS> > перед "new CGI::Fast" --- и переменные им берутся как надо.
IS> > IS> > 
IS> > IS> > Вопрос в чём: я всё оставляю как сейчас, или это бага nginx? а то мы спецификаций да сишных исходников не читатели, только почитатели-причитатели :)
IS> > IS> 
IS> > IS> nginx передаёт указанные CONTENT_TYPE и CONTENT_LENGTH.
IS> > 
IS> > ok, указанные где? не в запросе клиента? кабы передавал бы, я б не спрашивал тут. А то может у меня броузер ( links-hacked ) такой неправильный.
IS> 
IS> Указанные в директивах fastcgi_param.
IS> 
IS> > IS> Кроме того, есть ещё HTTP_CONTENT_TYPE и HTTP_CONTENT_LENGTH из запроса
IS> > IS> клиента, которые тоже передаются.
IS> > 
IS> > тогда вопроc, делать мне что с этим? если в моём конфиге что-то забыл, то что? если в perl надо действительно модифицировать %ENV, то оставляю эти 2 строки и выкладываю на CPAN's pause.
IS> > конкретно HTTP_* не цепляется в CGI.pm . А без "HTTP_" переменных не видно --- или мне с этим в fastcgi.com, к авторам FCGI.(pm|so), а не сюда?
IS> 
IS> Можно посмотреть в tcpdump'е, что nginx передаёт перлу.



73! Peter
-- 
http://vereshagin.org





More information about the nginx-ru mailing list