Re: fcgi document_root в 1.1.8

Валентин Бартенев ne на vbart.ru
Чт Ноя 24 09:43:01 UTC 2011


On Thursday 24 November 2011 00:02:45 Andrey Korolyov wrote:
> Добрый вечер,
> 
> сервер следующего вида отдает 404, не передавая корректно параметр
> SCRIPT_FILENAME:
> 
> 
>         server {
> .....
>                 location / {
>                         root /usr/share/zabbix;
>                         index index.php;
>                 }
>                         location ~ \.php$ {
>                                 fastcgi_param SCRIPT_FILENAME
> /usr/share/zabbix$fastcgi_script_name;
>                                 include fastcgi_params;
>                       }
>         }
> .
[...]

У меня не получилось воспроизвести проблему. По крайней мере 
SCRIPT_FILENAME и другие параметры передаются корректно.

Содержимое fastcgi_params еще не мешало бы посмотреть.

[...]
> 
> В аттаче - два стрейса, для первого и второго случаев. Баг минорный,
> потому что установка root сразу внутри директивы server решает
> проблему, но поскольку достаточно большой процент конфигураций fastcgi
> используют вместо глобально определенного $document_root хардкоднутый
> путь, как выше, поправить поведение наверняка стоит.
[...]

Я так понимаю, что это strace php, причем в обоих случаях видно, что 
SCRIPT_FILENAME пришел правильный. Скорее всего разница в поведении связана с 
содержимым fastcgi_params. У вас там что-то передается, что зависит от root, и на 
это что-то опирается ваш php скрипт.

p. s. лучше присылать не strace php, а nginx debug log
http://nginx.org/en/docs/debugging_log.html

--
Валентин Бартенев


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