Наследование fastcgi_param
    Amanda Sproule 
    paranoidchaos at gmail.com
       
    Tue Jun 23 16:56:30 UTC 2015
    
    
  
Здравствуйте.
# uname -a
FreeBSD test 10.1-RELEASE-p10 FreeBSD 10.1-RELEASE-p10 #0: Wed May 13
06:54:13 UTC 2015
root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC
 amd64
# nginx -v
nginx version: nginx/1.8.0
# php -v
5.6.10
Имеется такая тестовая конфигураци.
server {
    ....
    ....
    root   /www;
    index  index.html index.php;
    include        fastcgi_params;
    fastcgi_index  index.php;
    location /info {
        fastcgi_param SCRIPT_FILENAME /www/info.php;
        fastcgi_pass 127.0.0.1:9000;
    }
    .....
    ......
}
Проблема в том, что в локейшене /info не наследуются fastcgi_param (все),
указанный в контексте server,  если происходит переопределение одного
fastcgi_param параметра внутри локейшена. PHP-FPM возвращает код статуса
200 и пустой ответ. Экспериментальным путём выяснил, что минимальные
необходимые параметры передаваемые PHP-FPM следующие:
location /info {
    fastcgi_param  REQUEST_METHOD     $request_method;
    fastcgi_param SCRIPT_FILENAME /www/info.php;
    fastcgi_pass 127.0.0.1:9000;
}
В этом случае PHP-FPM обрабатывает скрипт /www/info.php, но nginx не
передал все остальные fastcgi_param из файла fastcgi_params, которые должны
были быть унаследованы.
В документации описан момент
"""
Директивы наследуются с предыдущего уровня при условии, что на данном
уровне не описаны свои директивы fastcgi_param.
"""
выходит если я переопределяю (устанавливаю) какой-либо fastcgi_param параметр,
то наследования fastcgi_params вовсе отменяется? Для чего тогда это
наследование? Почему нельзя наследовать с верхнего уровня и иметь
возможность переопределить какой-либо параметр?
Спасибо.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20150623/2274444e/attachment-0001.html>
    
    
Подробная информация о списке рассылки nginx-ru