Re: Failed opening required или что nginx передает на FastCGI?

Алексей Сундуков public-mail at alekciy.ru
Tue Jul 14 17:49:25 MSD 2009


Я об этом подумал сразу, поэтому внимательно посмотрел
/etc/nginx/fastcgi_params, там нет директивы SCRIPT_FILENAME:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Более того, я даже ставил include выше SCRIPT_FILENAME, удалял include
вовсе, прописывал абсолютный путь до fastcgi_params файла, рельзутат
один и тот же все время. И я не могу понять, толи дело в nginx который
не передает правильно переменные среды, толи дело в php-fpm который их
воспринимает не верно. А может причина в том, что сам php
компилировался из исходников, а nginx ставился из пакета... Сейчас
просто даже не знаю, в какую сторону копать, буду признателен за любую
идею.


14 июля 2009 г. 15:27 пользователь Gena Makhomed (gmm at csdoc.com) написал:
> On Tuesday, July 14, 2009 at 13:50:00, Алексей Сундуков wrote:
>
> АС> nginx не передает на FastCGI SCRIPT_FILENAME.
> АС> Как можно выяснить, почему так просходит?
>
> АС> fastcgi_param   SCRIPT_FILENAME /home/www/alekciy/site.ru$fastcgi_script_name;
> АС> include         fastcgi_params;
>
> потому что переменная SCRIPT_FILENAME
> переопределяется в файле fastcgi_params:
>
> fastcgi_param  SCRIPT_NAME        "";
>
> --
> Best regards,
>  Gena


More information about the nginx-ru mailing list