Почему файлы PHP загружаются вместо обработанного Nginx?

Самая легкая вещь состоит в том, чтобы ввести "dmesg | больше" на командной строке, которая позволяет Вам видеть весь вывод начальной загрузки, который происходит во время последнего системного запуска.

12
задан 15 August 2016 в 17:21
6 ответов

Мне удалось исправить эту проблему, но проблема, с которой я столкнулся, была связана к тому факту, что у меня все еще был установлен Apache на сервере, и некоторая часть Apache противоречила способности Nginx обрабатывать php-страницы, хотя Apache не работал.

Если вы столкнетесь с той же проблемой, попробуйте удалить Apache, PHP и все связанные модули и переустановите то, что вам нужно.

4
ответ дан 2 December 2019 в 21:37

этот файл что-нибудь содержит?

(include mime.types;)

потому что, если не так, все ваши файлы получение mime / типа загружаемого файла

(default_type application / octet-stream;)

так что это ваша проблема, потому что php отсутствует в списке

решение: добавьте эту строку в этот файл и перезапустите ngnix

text/php                             php php5;
2
ответ дан 2 December 2019 в 21:37

. Обратите внимание, что ваша конфигурация выделяется как неэффективная и потенциально небезопасная. См. https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/

1
ответ дан 2 December 2019 в 21:37

Мое местоположение ~ .php выглядит так. Почему бы вам не попробовать?

location ~ \.php {
        try_files $uri =404; #This line closes a big security hole
                             #see: http://forum.nginx.org/read.php?2,88845,page=3
        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 127.0.0.1:9000;
}

Также перейдите в /etc/php/php-fpm.conf и попробуйте:

listen = 127.0.0.1:9000
;listen = /var/run/php-fpm/php-fpm.sock
0
ответ дан 2 December 2019 в 21:37

Примечание к добавлению:

Я прошел через ту же сделку, но после применения исправления старые клавиши ctrl + shift + r были недостаточно хороши для обновления кеша браузера, который страница была загружена -

После более тщательного стирания кеша все заработало, как ожидалось.

6
ответ дан 2 December 2019 в 21:37

Выполните следующую команду:

sudo apt-get install php-gettext
sudo nano /etc/nginx/sites-available/default

Сравните следующий код с файлом по умолчанию :

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
  • Удалите кеш из вашего браузера
  • Перезапустите Nginx

sudo systemctl restart nginx

0
ответ дан 2 December 2019 в 21:37

Теги

Похожие вопросы