1

I'm trying to setup nginx and php-fpm on Arch Linux. I've been reading through the nginx wiki and its linked guides. Static pages work great. PHP pages don't seem to get passed to php-fpm. When I view source on my test index.php, I see the actual php source. What am I doing wrong?

I've read through some similar questions here, but they're a bit out of date, using spawn-fcgi, whereas I'm using php-fpm with a linux socket instead of tcp.

nginx.conf

worker_processes 1;

events {
    worker_connections  1024;
}

http {
    include             mime.types;
    default_type        application/octet-stream;
    sendfile            on;
    keepalive_timeout   65;

    server {
        listen          80;
        server_name     localhost
                        127.0.0.1
                        ""
                        ;
        root            /home/http;
        index           index.html
                        index.php
                        ;
        location / {
        }
        include php.conf;
    }
}

php.conf

location ~ \.php {
        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  SCRIPT_FILENAME    $document_root$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;

        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;

        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
}

index.php

<?
echo "hello world";
?>

1 Answer 1

4

You're using short opening tags which are disabled by default in newer versions of PHP, always, always use full opening tags <?php

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .