nginx with php-fpm on ubuntu 12.04 server.

attempting to access /var/www/test.php (via https://example.net/test.php) downloads the script instead of executing it.

if I place the test.php in a subdirectory, i.e. /var/www/test/test.php it executes.


root /var/www;

include php-fpm.conf;

location ~ /\. {
        access_log off;
        log_not_found off;
        deny all;


location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass   unix:/var/run/php5-fpm.socket;
        include        fastcgi_params;


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_index   index.php;                                                                                                                                   
fastcgi_param   HTTPS                   on;                                                                                                                  

fastcgi_param   SCRIPT_FILENAME         $document_root$fastcgi_script_name;                                                                                  
#fastcgi_param  SCRIPT_FILENAME         $request_filename;

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;

migrated from webmasters.stackexchange.com Oct 3 '12 at 11:11

This question came from our site for pro webmasters.

  • We need to see the complete nginx configuration for your server. – Michael Hampton Oct 3 '12 at 13:09
  • If possible post the nginx.conf or make sure you have "include path/root.conf" Examples: include sites/root.conf; include vhosts/*.conf; EDIT: I missed the php-fpm.conf line and file.... sorry So where is this "root.conf" file? is it the default nginx.conf? If so please post the full config thanks – Mikec Oct 3 '12 at 14:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.