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
Libérer: 2023-05-21 10:46:46
avant
1762 Les gens l'ont consulté

  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
Copier après la connexion

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;
}
Copier après la connexion

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;
Copier après la connexion

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/
Copier après la connexion

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/
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
Déclaration de ce site Web
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
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal