Назад | Перейти на главную страницу

Почему эти веб-страницы не обрабатываются PHP?

Я создал новую установку nginx и php5-fpm на сервере Ubuntu 14.04 и внес указанные ниже изменения, чтобы конфигурация заработала. Когда я перехожу в каталог, содержащий index.php или попробуйте перейти к phpinfo.php файл, браузер пытается загрузить файл (т.е. PHP не обрабатывает файл и не возвращает ответ).
Если я перейду к другим файлам php, например process.php или test.php он работает нормально.

Конфиг

обновлено /etc/php5/fpm/pool.d/www.conf слушать TCP-сокет

listen = 127.0.0.1:9000

файл: /etc/nginx/nginx.conf

user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        gzip on;
        gzip_disable "msie6";

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
}

файл: / etc / nginx / sites-available / default

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;
        root /home/user/www;
        index  index.php index.html index.htm;
        autoindex on;
        server_name _;
        error_page 404 /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/html;
        }
        location ~ \.php$ {
                # Try a document root
                root /home/user/www

                # try_files $uri =404;
                #fastcgi_split_path_info ^(.+\.php)(/.+)$;
                # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

                # With php5-cgi alone:
                fastcgi_pass 127.0.0.1:9000;
                # With php5-fpm:
                #fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

Когда возникает ошибка (происходит загрузка, а не страница процесса) Ничего не отображается
когда tail -f'файлы журнала:

Что не так с этим конфигом?

Ваш location ~ \.php$ имеет root /home/user/www, что не нужно, так как тот же root уже определен на уровне сервера. В определении также отсутствует точка с запятой.

Итак, убираем лишнее root определение и посмотрите, поможет ли это.

попробуйте поставить линию перемещения

include fastcgi_params;

от последнего до первого в блоке

location ~ \.php$ {

потому что он перезагрузит параметры по умолчанию, поэтому ваш индивидуальный параметр будет заменен