Ich habe einen Testserver mit nginx
+ installiert php-fpm
. Ich habe Folgendes versucht:
Nginx + Php5-fpm rendert keine PHP-Dateien
nginx + php fpm -> 404 php pages - Datei nicht gefunden
Beim Zugriff auf PHP-Dateien gibt nginx einen 404-Fehler aus
Zusammenfassend, was ich versucht habe:
- Neuinstallation.
- Ändern der Skriptberechtigungen (geändert in
0777
). fastcgi_intercept_errors on
.- Überprüfte die
root
Direktive auf den Ebenen :server
,location
undlocation ~ \.php
. - Überprüfte die
fastcgi_param SCRIPT_FILENAME
Richtlinie.
Der Server gibt 404 für (und nur für) .php
Skripte zurück. Ich kann sie umbenennen .html
und es würde ihnen gut gehen. Wie kann ich das machen?
Das ist mein nginx.conf
:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 2;
include /etc/nginx/conf.d/*.conf;
index index.html index.htm;
server {
listen 80;
server_name _;
root /var/www/html;
location / {
root /var/www/html;
index index.php index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
#root /var/www/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
#root /var/www/html;
}
location ~ \.php$ {
root /var/www/html;
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;
}
}
}
Ich habe tatsächlich den Fehler "Nicht gefunden" erhalten, weil ein Buch, das ich gelesen habe, mir eine falsche übereinstimmende Zeichenfolge für den Pfad gab,
/php_status
den ich in php-fpm 7.0.x (derzeit 7.0.19) und in nginx 1.12 (derzeit 1.12.0) konfiguriert hatte.Hier ist das
/etc/php/7.0/fpm/pool.d/{config}
Hier ist die Konfiguration für
default
in/etc/nginx/sites-available
(ich bin auf Ubuntu)Sie sollten auch die folgenden zwei Befehle ausführen
Um dies zu überprüfen, versuchen Sie es
quelle