Maxim Dounin
November 11, 2011 10:22PM
Hello!

On Fri, Nov 11, 2011 at 04:48:36PM -0500, locojohn wrote:

> Уважаемый Игорь,
>
> Я устанавливаю переменную FastCGI
> окружения PHP_VALUE в значение
> "include_path=$document_root" в server {} блоке, чтобы
> PHP-FPM backend находил нужные файлы в include_path
> равном $document_root:
>
> server {
> listen 80;
> server_name test.com;
>
> root /opt/www/test.com;
>
> fastcgi_read_timeout 1800;
> fastcgi_send_timeout 1800;
> fastcgi_param PHP_VALUE "include_path=$document_root";
>
>
> ...
>
>
> location ~ ^(?<SCRIPT_FILENAME>.+\.php)$ {
> include fastcgi_php.conf;
> fastcgi_param SCRIPT_URL $SCRIPT_FILENAME;
> fastcgi_param SCRIPT_URI
> $scheme://$http_host$SCRIPT_FILENAME;
> fastcgi_pass phpfarm;

http://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html#fastcgi_param

Директивы наследуются с предыдущего уровня при условии, что на
данном уровне не описаны свои директивы fastcgi_param.

[...]

> Однако, наблюдается очень странная
> ситуация. При refreshe страницы с php
> скриптом, я распечатываю значение
> "include_path", и на каждый третий раз он
> выдаёт системное значение eg: ".:/usr/share/php",
> как будто PHP_VALUE "include_path=$document_root" не
> передаётся в php-fpm окружение. В
> остальные же разы печатается
> правильное значение, т.е.: "/opt/www/test.com".
>
> Чтобы это могло значить? Если же я
> ставлю fastcgi_param PHP_VALUE в вышеуказанные
> location {} блоки, то значение include_path всегда
> правильное, то есть равное $document_root, что
> я передаю через fastcgi_param. Я пробовал
> указывать вместо $document_root путь
> "/opt/www/test.com" напрямую без переменной, но
> это не изменило ситуации. Каждый
> третий раз при рефреше одной и той же
> страницы печатается неправильное
> значение include_path.
>
> Получается, что ваше решение не
> работает полностью.
>
> Есть ли у вас какие-нибудь догадки по
> поводу решения данной проблемы?

Все fastcgi_param нужно определять полностью на одном уровне.
Если годятся "стандартные" - их можно определить хоть на уровне
http, а дальше наследовать (как было в примере конфигурации,
приведённым Игорем).

Если под данный location нужны свои специальные fastcgi_param -
нужно их все определить в данном location'е. Или переосмыслить
конфигурацию и сделать так, чтобы годились стандартные, в
большинстве случаев это делается легко и непринуждённо.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Запретить выполнение php в конкретном каталоге

valet November 08, 2011 10:35PM

Re: Запретить выполнение php в конкретном каталоге

Maximus43 November 09, 2011 03:52AM

Re: Запретить выполнение php в конкретном каталоге

Igor Sysoev November 09, 2011 04:10AM

Re: Запретить выполнение php в конкретном каталоге

valet November 09, 2011 05:52AM

Re: Запретить выполнение php в конкретном каталоге

valet November 09, 2011 06:11AM

Re: Запретить выполнение php в конкретном каталоге

Sayetsky Anton November 09, 2011 06:02AM

Re: Запретить выполнение php в конкретном каталоге

Igor Sysoev November 09, 2011 06:08AM

Re: Запретить выполнение php в конкретном каталоге

Igor Sysoev November 09, 2011 06:18AM

Re: Запретить выполнение php в конкретном каталоге

valet November 09, 2011 06:27AM

Re: Запретить выполнение php в конкретном каталоге

valet November 09, 2011 08:23AM

Re: Запретить выполнение php в конкретном каталоге

valet November 09, 2011 09:02AM

Re: Запретить выполнение php в конкретном каталоге

valet November 09, 2011 10:57AM

Re: Запретить выполнение php в конкретном каталоге

valet November 09, 2011 03:32PM

Re: Запретить выполнение php в конкретном каталоге

valet November 09, 2011 04:12PM

Re: Запретить выполнение php в конкретном каталоге

Igor Sysoev November 09, 2011 07:36AM

Re: Запретить выполнение php в конкретном каталоге

Igor Sysoev November 09, 2011 08:42AM

Re: Запретить выполнение php в конкретном каталоге

Igor Sysoev November 09, 2011 09:20AM

Re: Запретить выполнение php в конкретном каталоге

mva November 09, 2011 10:16AM

Размер буфeра MAX_ERROR_STR

mva November 09, 2011 10:50AM

Re: Размер буфeра MAX_ERROR_STR

Igor Sysoev November 09, 2011 11:00AM

Re: Запретить выполнение php в конкретном каталоге

Denis F. Latypoff November 09, 2011 03:22PM

Re: Запретить выполнение php в конкретном каталоге

Denis F. Latypoff November 09, 2011 03:40PM

Re: Запретить выполнение php в конкретном каталоге

Denis F. Latypoff November 09, 2011 04:24PM

Re: Запретить выполнение php в конкретном каталоге

locojohn November 09, 2011 08:51PM

Re[2]: php

Andrey Repin November 11, 2011 08:36AM

Re: Re[2]: php

locojohn November 11, 2011 08:51AM

Re: Re[2]: php

Igor Sysoev November 11, 2011 08:58AM

Re: Re[2]: php

locojohn November 11, 2011 04:48PM

Re: Re[2]: php

locojohn November 11, 2011 06:21PM

Re: Re[2]: php

Maxim Dounin November 11, 2011 10:22PM

Re: Re[2]: php

locojohn November 13, 2011 05:59AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 112
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready