Я несколько недель пытался заставить Nginx и php7.2 работать вместе. Я хочу писать HTML-файлы с тегами php. PHP-файлы работают великолепно. HTML-файлы также работают. но когда я пытаюсь встроить php в html, исходный код печатается в html source. Я попробовал различные настройки в моем конфигурационном файле по умолчанию для nginx, а также многочисленные учебные пособия. Кажется, я что-то упускаю, но не могу понять, что. Вмешиваясь в это, я прохожу различные стадии неработоспособности, но не могу заставить работать встроенную часть php.
Вот моя страница / etc / nginx / sites-available / default:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=off;
root /home/tinker/public_html;
index index.html index.php index.htm;
server_name 192.168.1.103;
location / {
try_files $uri $uri/ =404;
autoindex on;
}
error_page 404 /404.html;
#error_page 500 502 503 504 /404.html;
location = /50x.html {
}
location ~ \.php$|\.html|\.htm {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
#
# # fastcgi_index index.php;
# #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# fastcgi_index index.php;
# fastcgi_param PATH_INFO $fastcgi_path_info;
# # fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Как я могу это исправить?
Вы должны установить PHP и сначала изменить конфигурационный файл Nginx
, установить PHP в следующей строке:
sudo apt install php7.2 php7.2fpm
и изменить конфигурационный файл Nginx следующим образом: [ 115]
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name server_domain_or_IP;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}