Que dois-je faire si nginx ne parvient pas à ouvrir la page php ?

PHPz
Libérer: 2023-04-24 14:37:48
original
1788 Les gens l'ont consulté

Avec le développement rapide d'Internet, les services Web sont devenus l'un des moyens importants permettant aux utilisateurs d'obtenir des informations. L'une des technologies de services Web les plus populaires est LAMP, à savoir Linux, Apache, MySQL et PHP. Leur émergence facilite la création d'applications Web dynamiques. Cependant, bien que LAMP soit souvent utilisé comme solution complète de service Web, en raison de la consommation de ressources et des problèmes de performances du serveur Apache, de plus en plus de personnes choisissent d'utiliser Nginx au lieu d'Apache comme serveur Web.

Nginx est un serveur Web léger et un serveur proxy inverse hautes performances. Il s'agit d'un logiciel open source très stable et prenant en charge plusieurs plates-formes. Il implémente toutes les fonctions de base des services Web Apache et offre de meilleures performances. Cependant, de nombreux développeurs rencontrent encore des problèmes hérités lors de l'utilisation de PHP avec Nginx, tels que l'incapacité de Nginx à ouvrir correctement les pages PHP. Discutons en détail du problème selon lequel Nginx ne peut pas ouvrir la page PHP et de sa solution.

Description du problème

Lors de l'exécution de certains programmes PHP sur le serveur Nginx, la page PHP ne peut pas être ouverte. Les navigateurs affichent souvent des messages d'erreur : "502 Bad Gateway" ou "404 Not Found". Cela est généralement dû au fait que PHP-FPM (PHP FastCGI Process Manager) ne démarre pas correctement. PHP-FPM est un gestionnaire de processus externe exécuté dans la solution Nginx et est responsable de la gestion de l'allocation et de l'exécution du processus de l'interpréteur PHP.

Solution

Voici comment résoudre le problème selon lequel Nginx ne peut pas ouvrir la page PHP :

1. Vérifiez si Nginx et PHP-FPM ont été correctement installés

Assurez-vous d'abord que vous avez installé Nginx et PHP-FPM. correctement. Si vous ne les installez pas correctement, vous ne pourrez peut-être pas exécuter correctement les scripts PHP. Pour vous assurer que PHP-FPM a été correctement installé, exécutez la commande suivante dans le terminal :

sudo apt-get install php-fpm
Copier après la connexion

2. Vérifiez le fichier de configuration Nginx

Assurez-vous que le fichier de configuration Nginx a l'emplacement de l'interpréteur PHP correctement configuré, par exemple, vous devez installer PHP-FPM. Ajoutez le chemin vers "emplacement /" dans le fichier de configuration Nginx.

server {
  listen   80;
  root /var/www/html;
  index index.php index.html index.htm;
  server_name test.com;
  
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
  
  location ~ .php$ {
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_read_timeout 300;
  }
}
Copier après la connexion

Collez le code ci-dessus dans le fichier de configuration Nginx, en vous assurant que les chemins correspondent à vos chemins réels. Une fois que vous avez correctement configuré l'emplacement de votre interpréteur PHP, Nginx l'utilisera pour restituer les scripts PHP et les transmettre aux navigateurs Web des visiteurs de votre site Web.

3. Redémarrez le service

Si vous avez modifié le fichier de configuration Nginx, vous devez redémarrer le service Nginx. Pour redémarrer Nginx, exécutez la commande suivante dans le terminal :

sudo service nginx restart
Copier après la connexion

De même, si vous avez modifié le fichier de configuration PHP-FPM, vous devez redémarrer le service PHP-FPM. Pour redémarrer PHP-FPM, exécutez la commande suivante dans le terminal : `

sudo service php-fpm restart
Copier après la connexion

4. Vérifiez si PHP-FPM est démarré

Si votre page PHP ne fonctionne toujours pas correctement, c'est peut-être parce que PHP-FPM n'est pas démarré. Pour vérifier si PHP-FPM est en cours d'exécution, exécutez la commande suivante dans le terminal :

systemctl status php-fpm.service
Copier après la connexion

S'il est en cours d'exécution, vous verrez les mots « Actif : actif (en cours d'exécution) ». Sinon, vous pouvez redémarrer PHP-FPM en exécutant la commande suivante :

sudo service php-fpm start
Copier après la connexion

5. Vérifiez les autorisations des fichiers et des dossiers

Enfin, assurez-vous que vos fichiers PHP et les dossiers dont PHP dépend disposent des autorisations appropriées. Si les autorisations du fichier PHP ou des dossiers dépendants ne sont pas définies correctement, le script PHP ne peut pas être exécuté. Pour modifier les autorisations de fichiers ou de dossiers, exécutez la commande suivante dans le terminal :

sudo chown -R www-data:www-data /var/www/html/
Copier après la connexion

La commande ci-dessus changera la propriété des fichiers et des dossiers en l'utilisateur et le groupe www-data.

Résumé

Nginx est un serveur Web hautes performances et un serveur proxy inverse qui peut être utilisé comme alternative à Apache pour exécuter des applications Web dynamiques. Cependant, en raison de certaines configurations et de problèmes entre Nginx et PHP-FPM, vous ne pourrez parfois pas ouvrir correctement la page PHP. Dans ce cas, vous pouvez suivre les étapes ci-dessus pour résoudre les problèmes une par une. Une fois toutes les étapes ci-dessus terminées, vous devriez pouvoir exécuter normalement des scripts PHP sur le serveur Nginx.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!