Maison  >  Article  >  développement back-end  >  Que faire si nginx n'analyse pas les fichiers php

Que faire si nginx n'analyse pas les fichiers php

PHPz
PHPzoriginal
2023-04-18 10:18:341129parcourir

nginx est un serveur Web hautes performances qui est souvent utilisé avec PHP pour restituer du contenu dynamique dans les applications Web. Cependant, nginx peut parfois ne pas analyser correctement le fichier PHP, ce qui entraîne un échec de l'application. Dans cet article, nous explorerons certains problèmes courants qui empêchent nginx d'analyser les fichiers PHP et de fournir des solutions.

  1. PHP n'est pas installé ou configuré

Tout d'abord, assurez-vous que PHP est installé sur votre serveur et que nginx est correctement configuré pour fonctionner. Pour vérifier si PHP a été correctement installé, ouvrez un terminal et exécutez la commande suivante :

php -v

Cela affichera la version de PHP actuellement installée sur votre serveur. Si la version de PHP ne s'affiche pas, pensez à installer PHP.

Pour vous assurer que PHP fonctionne avec nginx, modifiez le fichier de configuration nginx et ajoutez la ligne suivante :

location ~ \.php$ {
  fastcgi_pass  unix:/run/php/php7.4-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Ici, nous spécifions l'emplacement et les autres paramètres que nginx utilisera pour traiter les fichiers PHP. Veuillez vous assurer que cet extrait se trouve dans votre fichier de configuration nginx et que le fichier sock qu'il contient correspond à votre fichier de configuration PHP.

  1. Fichier index.php non défini

Si la page d'accueil de votre application Web est index.php, mais qu'elle n'est pas automatiquement gérée dans nginx, alors vous devez ajouter un index dans la directive "index" du fichier de configuration nginx. php comme indiqué ci-dessous :

index index.php index.html;

Désormais, lorsque vous ouvrez la page d'accueil, nginx recherchera automatiquement index.php et le gérera correctement.

  1. Autorisations des fichiers PHP

Une autre raison principale pour laquelle nginx ne peut pas analyser les fichiers PHP est les autorisations incorrectes. Assurez-vous des points suivants :

  • Les autorisations du fichier PHP sont 644
  • Les autorisations du répertoire où se trouve le fichier PHP sont 755

Assurez-vous également que la propriété du fichier PHP est définie sur l'utilisateur nginx et la propriété du répertoire où se trouve le fichier PHP est définie sur nginx group . Cela peut être réalisé en utilisant la commande suivante :

sudo chown -R nginx:nginx /var/www/html/

Ici, nous attribuons la propriété du répertoire /var/www/html/ à l'utilisateur et au groupe nginx.

  1. Module PHP non activé

Si nginx ne peut pas analyser le fichier PHP et qu'il n'y a pas de message d'erreur, assurez-vous que le module PHP est activé. Pour l'activer, modifiez les options de compilation de nginx, ajoutez la ligne suivante :

--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_auth_request_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_degradation_module \
--with-http_xslt_module \
--with-http_stub_status_module \
--with-http_spdy_module \
--with-http_auth_request_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-ipv6 \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-threads \
--with-debug \
--add-module=/path/to/php-src/sapi/nginx/

Ici, nous avons ajouté --add-module=/path/to/php-src/sapi/nginx/ pour activer le module PHP.

  1. Journalisation des erreurs PHP

Si nginx ne peut pas analyser le fichier PHP mais n'affiche aucun message d'erreur, vous pouvez trouver plus d'informations sur l'erreur dans le journal des erreurs PHP. Pour activer la journalisation des erreurs PHP, ouvrez le fichier php.ini et décommentez la ligne suivante :

error_log = /var/log/php/error.log
log_errors = On

Ici, nous spécifions le journal des erreurs PHP comme /var/log/php/error.log et activons la journalisation des erreurs. Veuillez vous assurer que le dossier a été créé et dispose des autorisations appropriées.

Conclusion

Dans cet article, nous avons présenté quelques raisons pour lesquelles nginx ne peut pas analyser les fichiers PHP et fourni des solutions. Lorsque vous rencontrez de tels problèmes, suivez les étapes ci-dessus et configurez correctement nginx pour gérer les fichiers 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