<div dir="ltr">Здравствуйте.<div><br></div><div># uname -a</div><div>FreeBSD test 10.1-RELEASE-p10 FreeBSD 10.1-RELEASE-p10 #0: Wed May 13 06:54:13 UTC 2015     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64<br></div><div><br></div><div><div># nginx -v</div><div>nginx version: nginx/1.8.0</div></div><div><br></div><div># php -v</div><div>5.6.10</div><div><br></div><div>Имеется такая тестовая конфигураци.</div><div><br></div><div>server {<br></div><div>    ....</div><div>    ....</div><div><br></div><div><div>    root   /www;</div><div>    index  index.html index.php;</div></div><div><br></div><div><div>    include        fastcgi_params;</div><div>    fastcgi_index  index.php;</div></div><div><br></div><div><div>    location /info {</div><div>        fastcgi_param SCRIPT_FILENAME /www/info.php;<br></div><div>        fastcgi_pass <a href="http://127.0.0.1:9000">127.0.0.1:9000</a>;</div><div>    }</div></div><div><br></div><div>    .....</div><div>    ......</div><div>}</div><div><br></div><div>Проблема в том, что в локейшене /info не наследуются fastcgi_param (все), указанный в контексте server,  если происходит переопределение одного fastcgi_param параметра внутри локейшена. PHP-FPM возвращает код статуса 200 и пустой ответ. Экспериментальным путём выяснил, что минимальные необходимые параметры передаваемые PHP-FPM следующие:<br><br><div>location /info {</div><div>    fastcgi_param  REQUEST_METHOD     $request_method;<br></div><div>    fastcgi_param SCRIPT_FILENAME /www/info.php;</div><div>    fastcgi_pass <a href="http://127.0.0.1:9000">127.0.0.1:9000</a>;</div><div>}</div><div><br></div><div>В этом случае PHP-FPM обрабатывает скрипт /www/info.php, но nginx не передал все остальные fastcgi_param из файла fastcgi_params, которые должны были быть унаследованы. </div><br></div><div>В документации описан момент</div><div><br></div><div>"""</div><div>Директивы наследуются с предыдущего уровня при условии, что на данном
уровне не описаны свои директивы <code>fastcgi_param</code>.<br></div><div>"""</div><div><br></div><div>выходит если я переопределяю (устанавливаю) какой-либо <span style="font-family:monospace">fastcgi_param </span>параметр, то наследования <span style="font-family:monospace">fastcgi_params вовсе отменяется? Для чего тогда это наследование? Почему нельзя наследовать с верхнего уровня и иметь возможность переопределить какой-либо параметр?</span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace">Спасибо.</span></div></div>