Здравствуйте,<br><br>замечена интересная штука - дефолтный конфигурационный файл nginx передаёт неверный document_root<br><br>В конфиге 1 хост с двумя стандартными локациями из дефолтного конфига который поставляется в комплекте<br>
<br>location /<br> {<br> index index.php;<br> root /home/test;<br> }<br><br> location ~* ^.+\.php$<br> {<br> fastcgi_pass unix:...;<br>
fastcgi_index index.php;<br> fastcgi_param SCRIPT_FILENAME /home/test$fastcgi_script_name;<br> include fastcgi_params;<br> }<br><br>При таком раскладе phpinfo сообщает следующее:<br>
<br>_SERVER["DOCUMENT_ROOT"] = /srv/nginx-new/html<br><br>Очевидно nginx посылет дефолтный путь, ибо указанного пути нигде в конфиге нет (был изначально и как видно выше был заменён)<br><br>Насколько я понимаю этой переменной пользутся многие скрипты для своих нужд и передавать её неверно не есть хорошо для стандартного конфига которым будут пользоваться многие начинающие пользователи nginx. Возможно имеет смысл использовать схожую декларацию предложенную где-то тут в рассылке:<br>
<br> root /home/test;<br> fastcgi_pass ...;<br> fastcgi_index index.php;<br> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br> include fastcgi_params;<br>
<br>В этом случае и гибкость остаётся прежней, и править надо при мигрировании как и раньше всего один параметр и заодно DOCROOT верно передаётся, уверен проблему можно решить ещё как-то иначе<br>