Re[2]: и все равно не работает nginx-0.7.44 + drupal 6.10 с try_files

Denis F. Latypoff denis at gostats.ru
Tue Mar 24 20:03:25 MSK 2009


Hello Andrei,

Tuesday, March 24, 2009, 10:15:17 PM, you wrote:

> On Tuesday 24 March 2009 18:25, Maxim Dounin wrote:
>> Hello!
>>
>> On Tue, Mar 24, 2009 at 05:37:10PM +0300, Andrei Nigmatulin wrote:
>> > On Tuesday 24 March 2009 17:09, Maxim Dounin wrote:
>> > > Hello!
>> > >
>> > > On Tue, Mar 24, 2009 at 04:34:28PM +0300, Andrei Nigmatulin wrote:
>> > > > On Tuesday 24 March 2009 15:44, Igor Sysoev wrote:
>> > > > > On Tue, Mar 24, 2009 at 03:31:49PM +0300, Andrei Nigmatulin wrote:
>> > > > > > > > 2009/03/24 14:15:37 [debug] 7764#0: *1 http script copy:
>> > > > > > > > "QUERY_STRING" 2009/03/24 14:15:37 [debug] 7764#0: *1 http
>> > > > > > > > script copy: "q=" 2009/03/24 14:15:37 [debug] 7764#0: *1 http
>> > > > > > > > script var:
>> > > > > > > > "/admin/reports/status/run-cron?destination=admin/reports/sta
>> > > > > > > >tus" 2009/03/24 14:15:37 [debug] 7764#0: *1 fastcgi param:
>> > > > > > > > "QUERY_STRING:
>> > > > > > > > q=/admin/reports/status/run-cron?destination=admin/reports/st
>> > > > > > > >atus "
>> > > > > > >
>> > > > > > > Надо убрать из
>> > > > > > >
>> > > > > > >     include        /etc/nginx/fastcgi_params;
>> > > > > > >
>> > > > > > > строку про QUERY_STRING.
>> > > > > >
>> > > > > > А смысл, если все равно используется последняя ?
>> > > > >
>> > > > > Это точно известно ?
>> > > >
>> > > > У меня на 0.6.x работает именно так.
>> > >
>> > > Это не зависит от nginx'а, это зависит от fastcgi приложения.  Сам
>> > > nginx просто передаст несколько name-value pairs с одинаковым
>> > > именем.
>> >
>> > Понятно. В php это не используется. Каждое последующее значение с тем же
>> > именем замещает предыдущее.
>>
>> Насколько я вижу - hash появился в
>>
>> http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/fastcgi.c?r1=1.15&r2=1.16&
>>
>> и с тех пор помержен в 5.2, но не в 5.1.  До соответствующего
>> изменения - брался первый из параметров.  Что именно происходило в
>> php4 - даже и смотреть не хочу, и так понятно что поведение
>> зависит от версии php и закладываться на него нельзя.

> Все правильно, бардак имеется. Но камни в огород php я бы не стал кидать: до
> 5.2 использовался код стандартной libfcgi, которую кстати, насколько я
> вкурсе, писали те же ребята, что и спецификацию протокола на fatscgi.com. В
> ней тоже берется первое значение из присланных. И библиотечными методами
> нельзя получить другие значения с таким же именем.

> Тем не менее, в спецификации с fastcgi.com не указано что нельзя отсылать
> дублирующиеся имена. А зря.

FastCGI протоколу пофигу сколько раз там повторяется key=value.
По получении key=value делается, грубо говоря, setenv (key, value, 1).
Приложение конечно же увидит последнюю пару.

> Потому что исправить nginx, чтобы он не отправлял дублирующиеся имена теперь
> тоже нельзя, т.к. это сломает всем приложения.

И не надо. Если у программиста/админа есть совесть - он позаботится об
этом сам :)

-- 
Best regards,
 Denis                            mailto:denis at gostats.ru






More information about the nginx-ru mailing list