Maison >Opération et maintenance >Nginx >Comment résoudre nginx qui n'analyse pas les fichiers php

Comment résoudre nginx qui n'analyse pas les fichiers php

PHPz
PHPzavant
2023-05-21 10:46:461731parcourir

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

Tout d'abord, assurez-vous que PHP est installé sur votre serveur et que nginx a été configuré correctement pour qu'il fonctionne correctement. 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 souhaitons spécifier l'emplacement de traitement du fichier PHP de nginx et d'autres paramètres. Veuillez confirmer que le bloc de code a été ajouté à votre fichier de configuration nginx et que le chemin d'accès au fichier sock 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 la définir dans la directive "index" de votre configuration nginx file Ajoutez index.php comme ceci :

index index.php index.html;

Désormais, lorsque vous ouvrirez 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 de ce qui suit :

  • Les autorisations du fichier PHP sont 644

  • Les autorisations du répertoire où se trouvent les fichiers PHP sont 755

Assurez-vous également que l'utilisateur nginx est propriétaire de tous les PHP fichiers et que le répertoire où se trouvent les fichiers PHP est également défini sur le groupe nginx. Ceci 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 votre nginx ne peut pas analyser le fichier PHP sans afficher de message d'erreur, veuillez vous assurer que le module PHP a été 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. Ouvrez le fichier php.ini et décommentez la ligne suivante pour activer la journalisation des erreurs PHP

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

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

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer