10 messages in ru.sysoev.nginxRe: nginx not sending DOCUMENT_ROOT t...
FromSent OnAttachments
Joe ShangNov 21, 2008 8:34 am 
Joe ShangNov 21, 2008 8:50 am 
Maxim DouninNov 21, 2008 9:06 am 
Igor SysoevNov 21, 2008 9:38 am 
ustcluceneNov 22, 2008 8:23 am 
John MooreNov 22, 2008 8:41 am 
CalomelNov 22, 2008 10:28 am 
Igor SysoevNov 22, 2008 10:44 am 
John MooreNov 24, 2008 4:31 am 
ustcluceneNov 24, 2008 5:49 am 
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: nginx not sending DOCUMENT_ROOT to PHP?Actions...
From:Joe Shang (joe.@gmail.com)
Date:Nov 21, 2008 8:50:29 am
List:ru.sysoev.nginx

Figured it out.

You need to set root within the server directive, I had it set under location.

Joe

I am using:

location ~ \.php$ { fastcgi_pass unix:/home/nginx/phpcgi/vidiscri; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/vidiscri/public_html$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $document_root; include conf/fastcgi_params; }

To send PHP over to be parsed by php-fpm , but the problem is, DOCUMENT_ROOT variable isn't being sent to PHP it keeps saying:

_SERVER["DOCUMENT_ROOT"] /usr/local/nginx/html

Any specific reason why its doing this?

You can check for yourself here:

http://vidiscript.aptget.com/phpinfo.php

conf/fastcgi_params has:

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;