Мне удалось исправить эту проблему, но проблема, с которой я столкнулся, была связана к тому факту, что у меня все еще был установлен Apache на сервере, и некоторая часть Apache противоречила способности Nginx обрабатывать php-страницы, хотя Apache не работал.
Если вы столкнетесь с той же проблемой, попробуйте удалить Apache, PHP и все связанные модули и переустановите то, что вам нужно.
этот файл что-нибудь содержит?
(include mime.types;)
потому что, если не так, все ваши файлы получение mime / типа загружаемого файла
(default_type application / octet-stream;)
так что это ваша проблема, потому что php отсутствует в списке
решение: добавьте эту строку в этот файл и перезапустите ngnix
text/php php php5;
. Обратите внимание, что ваша конфигурация выделяется как неэффективная и потенциально небезопасная. См. https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
Мое местоположение ~ .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
Примечание к добавлению:
Я прошел через ту же сделку, но после применения исправления старые клавиши ctrl + shift + r были недостаточно хороши для обновления кеша браузера, который страница была загружена -
После более тщательного стирания кеша все заработало, как ожидалось.
Выполните следующую команду:
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;
}
}
Удалите кеш
из вашего браузера sudo systemctl restart nginx