Maison >développement back-end >Problème PHP >Que dois-je faire si nginx ne peut pas exécuter de fichiers php ?

Que dois-je faire si nginx ne peut pas exécuter de fichiers php ?

藏色散人
藏色散人original
2021-06-26 09:34:324143parcourir

La solution au problème selon lequel nginx ne peut pas exécuter de fichiers php : recherchez d'abord "php-fpm.conf" et configurez l'élément "écouter" puis modifiez la configuration correspondante dans nginx.

Que dois-je faire si nginx ne peut pas exécuter de fichiers php ?

L'environnement d'exploitation de cet article : système linux5.9.8, version PHP7.1, ordinateur DELL G3

Pourquoi peut-on' t nginx exécute des fichiers php ? Que faire ? Une mauvaise configuration de nginx php-fpm a provoqué l'échec de l'exécution du fichier php

Je ne suis pas allé sur mon site Web depuis longtemps, et aujourd'hui je je suis allé le voir et j'ai trouvé une erreur 50x.

Le site Web est desservi par nginx.

De nombreuses situations sur Internet sont causées par des problèmes avec la partie

location ~ .php$ {
# root html;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

de la configuration de nginx. Les problèmes trouvés dans les recherches par mots clés sont principalement des explications d'erreurs de configuration dans la

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
partie.

Mais ma configuration est correcte.

Je suis sur le serveur

service php-fpm status

, ce qui indique qu'il fonctionne normalement.

php ./index.php

peut également être exécuté normalement.

Le problème est verrouillé dans

fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

C'est-à-dire que nginx ne trouve pas php-fpm pour exécuter le script .php.

Alors, où est php-fpm.sock ?

Cela dépend des paramètres dans php-fpm.conf.

J'ai modifié la recherche par mot-clé sur Internet et j'ai finalement trouvé des informations utiles

Le paramètre de fastcgi_pass est déterminé en fonction du paramètre d'écoute dans php-fpm.conf.

D'accord, la question suivante est de trouver php-fpm.conf et de configurer l'élément d'écoute

Certains serveurs ne fournissent pas directement les paramètres dans php-fpm.conf

. Mais il y a une telle phrase

include=/etc/php-fpm.d/*.conf

Ensuite on va dans le répertoire php-fpm.d correspondant pour trouver conf

Le mien est www.conf

Enfin trouvé le

listen = /var/run/php-fpm/php-fpm.sock

puis je suis allé sur nginx et j'ai modifié la configuration correspondante.

fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

Beaucoup sur Internet sont

fastcgi_pass unix:/var/run/php-fpm.sock;

Cela dépend des paramètres php-fpm.sock dans votre php-fpm.conf.

Enregistrez le problème. Ne paniquez pas lorsque vous rencontrez des problèmes. Réfléchissez davantage et cherchez davantage. Vous pouvez trouver beaucoup de choses merveilleuses.

La recherche doit être faite avec réflexion. Si vous vous contentez de vous engager dans des impasses, vous ne trouverez jamais la réponse et votre capacité à analyser les problèmes ne sera pas améliorée.

Apprentissage recommandé : "

Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn