11 messages in ru.sysoev.nginxRe: Problem with inheriting fastcgi p...
FromSent OnAttachments
Michael ShadleJun 5, 2009 12:36 pm 
Cliff WellsJun 5, 2009 12:53 pm 
Michael ShadleJun 5, 2009 12:59 pm 
Maxim DouninJun 5, 2009 1:17 pm 
Michael ShadleJun 5, 2009 1:49 pm 
Cliff WellsJun 5, 2009 2:10 pm 
Cliff WellsJun 5, 2009 2:12 pm 
Michael ShadleJun 5, 2009 2:56 pm 
Maxim DouninJun 5, 2009 7:03 pm 
Michael ShadleJun 5, 2009 7:33 pm 
Cliff WellsJun 5, 2009 9:33 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Problem with inheriting fastcgi paramsActions...
From:Michael Shadle (mike@gmail.com)
Date:Jun 5, 2009 1:49:12 pm
List:ru.sysoev.nginx

On Fri, Jun 5, 2009 at 1:17 PM, Maxim Dounin <mdou@mdounin.ru> wrote:

Hello!

On Fri, Jun 05, 2009 at 12:36:36PM -0700, Michael Shadle wrote:

I have my normal fastcgi params in my main nginx.conf file, under server {}

i.e.:

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_FILENAME $document_root$fastcgi_script_name; 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 $http_host; fastcgi_ignore_client_abort on; fastcgi_buffers 32 8k; fastcgi_index index.php;

The problem is, whenever I want to add a variable (maybe override too, I forget) it seems to clear all the other ones out:

               location ~ \.php$ {                         fastcgi_pass 127.0.0.1:11003;                         fastcgi_param HTTPS on;                 }

Now, only fastcgi_param HTTPS is set. no more SCRIPT_FILENAME so it's broken.

It's expected and documented behaviour.  All array-type settings behave like this: they are inherited from upper levels only if none defined at this particular level.

So instead of appending the array (or replacing an existing index) I am essentially resetting the array completely?

Is there a usage model where it makes sense that this should be a supported behavior? Logically it seems like it should be supported, but I guess under the hood it's a one line change or a very major change.