J'ai hérité de ce serveur Web avec Nginx et j'essaye d'obtenir une nouvelle configuration de base PHP site ici.
J'ai suivi les instructions ici. https://Gist.github.com/GhazanfarMir/03bd1f1f770a3834d47274586d46ea62
Je peux lire des fichiers html simplement fichier dans mon répertoire. Mais pour les fichiers PHP, je vois cette erreur dans la page Web:
Aucun fichier d'entrée spécifié.
Je ne sais pas comment résoudre ce problème. Dans mon fichier de conf, j'ai cette configuration pour le PHP et la section racine:
location / {
root /var/www/mydomain.org/html;
index index.html index.htm index.php;
try_files $uri/index.html $uri.html $uri @app;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
Le message d'erreur "Aucun fichier d'entrée spécifié" est presque toujours dû à la valeur de SCRIPT_FILENAME
ne pointe pas vers un fichier. Le location ~ \.php$
doit connaître la racine du document et la variable $request_filename
est construit en concaténant la racine du document avec l'URI actuel.
Vous avez défini une racine de document pour le location /
bloc, mais pas le location ~ \.php$
bloquer. Habituellement, ce sont la même valeur, donc une seule instruction root
peut être placée dans le bloc environnant et héritée par tous les blocs location
qui ne remplacent pas la valeur.
Par exemple:
root /var/www/example.org/html;
location / {
index index.html index.htm index.php;
try_files $uri/index.html $uri.html $uri @app;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
location @app {
...
}
Voir ce document pour plus de détails.