Maison >développement back-end >Problème PHP >Que dois-je faire si nginx ne peut pas exécuter de fichiers php ?
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.
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.phppeut é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 utilesLe 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/*.confEnsuite on va dans le répertoire php-fpm.d correspondant pour trouver confLe mien est www.conf Enfin trouvé le
listen = /var/run/php-fpm/php-fpm.sockpuis 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!