nginx not sending DOCUMENT_ROOT to PHP?
Joe Shang
joe.shang at gmail.com
Fri Nov 21 19:50:52 MSK 2008
Figured it out.
You need to set root within the server directive, I had it set under location.
Joe
On Fri, Nov 21, 2008 at 10:34 AM, Joe Shang <joe.shang at gmail.com> wrote:
> 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;
>
More information about the nginx
mailing list