fastcgi + php

Maxim Dounin mdounin на mdounin.ru
Чт Июн 3 18:03:39 MSD 2010


Hello!

On Thu, Jun 03, 2010 at 04:27:55PM +0400, Anton Kiryushkin wrote:

> Подскажите пожалуйста, может я где-то туплю.
> Есть конфиг, в котором обработка php уходит на php-cgi backend.
> 
> Location's, которые обрабатывают php выглядят так:
> 
>     location ~ ^/upper/(.*\.php)$ {
>         fastcgi_pass   127.0.0.1:8888;
>         include fastcgi_params;
>         fastcgi_param  SCRIPT_FILENAME  /path/to/upper/$1;
>         fastcgi_param  DOCUMENT_ROOT    /path/to/upper/upper;
>         fastcgi_param  QUERY_STRING     $query_string;
>         fastcgi_param  REQUEST_METHOD   $request_method;
>         fastcgi_param  CONTENT_TYPE     $content_type;
>         fastcgi_param  CONTENT_LENGTH   $content_length;
>     }
> 
>      location ~ ^/(.*\.php)$ {
>             fastcgi_pass   127.0.0.1:8888;
>             fastcgi_index  index.php;
>             include fastcgi_params;
>             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
>             fastcgi_param  DOCUMENT_ROOT    /home/webmaster/prmtupdates/scripts;
>             fastcgi_param  QUERY_STRING     $query_string;
>             fastcgi_param  REQUEST_METHOD   $request_method;
>             fastcgi_param  CONTENT_TYPE     $content_type;
>             fastcgi_param  CONTENT_LENGTH   $content_length;
>     }
> 
> Проблема в том, что если запрашивается http://host/upper/php.php, то
> обработка идет по второму локейшену, вместо первого.
> В чем проблема?

Либо в конфиге эти location'ы стоят не в том порядке как показано 
в письме, либо влияет что-то ещё (e.g. rewrite'ы, другие regex 
location'ы).  Либо показывайте полный конфиг, либо сделайте 
debug log и сами посмотрите что происходит.  Право слово, это 
просто.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru