nginx + php-fpm serve raw php

1

Estou tentando configurar o nginx e o php-fpm no Arch Linux. Eu tenho lido através do wiki nginx e seus guias vinculados. As páginas estáticas funcionam muito bem. As páginas do PHP não parecem ser passadas para o php-fpm. Quando vejo a fonte no meu teste index.php, vejo a fonte real do php. O que estou fazendo errado?

Eu li algumas questões semelhantes aqui, mas elas estão um pouco desatualizadas, usando o spawn-fcgi, enquanto eu estou usando o php-fpm com um socket linux ao invés de 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";
?>
    
por djeikyb 10.01.2012 / 11:05

1 resposta

4

Você está usando tags de abertura curtas que estão desativadas por padrão nas versões mais novas do PHP, sempre, sempre use tags de abertura completa <?php

    
por 10.01.2012 / 12:18