Maison >développement back-end >Problème PHP >Que dois-je faire si Mac Nginx ne peut pas analyser les fichiers PHP ?

Que dois-je faire si Mac Nginx ne peut pas analyser les fichiers PHP ?

PHPz
PHPzoriginal
2023-04-11 10:31:03727parcourir

Il est courant d'utiliser Nginx pour créer un serveur Web sur Mac, mais vous rencontrez parfois le problème que Nginx ne peut pas analyser les fichiers PHP. Dans ce cas, lors de l'accès au fichier PHP, il sera téléchargé directement au lieu d'être analysé et exécuté, ce qui gêne le développement Web.

Cet article explique comment résoudre le problème selon lequel Nginx ne peut pas analyser les fichiers PHP lors de l'utilisation de Nginx pour créer un serveur Web sur Mac. Il comprend principalement les aspects suivants :

  1. Analyse des causes
  2. Solution
  3. Analyse des causes

Nginx ne prend pas en charge l'analyse PHP par défaut et PHP-FPM doit être utilisé pour implémenter l'analyse PHP. Une fois PHP-FPM démarré, il établit une connexion Socket avec Nginx et transmet la demande au processus PHP-FPM pour traitement, puis renvoie les résultats du traitement à Nginx, et Nginx renvoie enfin les résultats au client.

Par conséquent, les raisons pour lesquelles Nginx ne peut pas analyser les fichiers PHP peuvent être les suivantes :

  1. PHP-FPM n'est pas installé
  2. PHP-FPM n'est pas démarré
  3. L'analyse PHP n'est pas configurée dans le fichier de configuration de Nginx
  4. Solution

Pour les raisons ci-dessus, les méthodes suivantes sont adoptées pour les résoudre.

2.1 Installer PHP-FPM

Vous devez d'abord installer PHP-FPM, vous pouvez utiliser Homebrew pour l'installer :

brew install php-fpm

Une fois l'installation terminée, vous pouvez utiliser la commande suivante pour vérifier si l'installation a réussi :

php-fpm -v

Si les informations sur la version de PHP s'affichent, cela signifie que l'installation a réussi.

2.2 Démarrez PHP-FPM

Après avoir installé PHP-FPM, vous devez démarrer le processus PHP-FPM :

sudo php-fpm

Après le démarrage, vous pouvez utiliser la commande suivante pour vérifier si PHP-FPM a démarré avec succès :

ps aux | grep php-fpm

Si des informations similaires à celles-ci s'affichent, puis indique que PHP-FPM a démarré avec succès :

_www           49202   0.0  0.7  5871400  11664   ??  S    11:42上午   0:00.03 php-fpm: pool www

2.3 Configurer Nginx

Ajouter la configuration d'analyse PHP dans le fichier de configuration Nginx Vous pouvez ajouter le contenu suivant dans le segment du serveur :

location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

Parsing. instructions :

  • location ~ .php $ : Indique la correspondance avec toutes les requêtes se terminant par .phplocation ~ .php$:表示匹配所有以.php结尾的请求
  • fastcgi_pass   127.0.0.1:9000;:表示将请求转发到PHP-FPM进程处理,此处端口号应与PHP-FPM进程启动时使用的端口号保持一致
  • fastcgi_index  index.php;:表示当请求目录下没有指定文件时,默认使用index.php作为入口文件
  • fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;:表示将请求文件完整路径传递给PHP-FPM进程,其中$document_root表示Nginx配置的Web根目录,$fastcgi_script_name表示请求的完整路径(不包含域名和参数)
  • include        fastcgi_params;
  • fastcgi_pass 127.0.0.1:9000; : Indique le transfert de la requête vers le PHP -Processus FPM pour le traitement. Le numéro de port ici doit être le même que celui de PHP. -Le numéro de port utilisé lors du démarrage du processus FPM reste cohérent

fastcgi_index index.php; : Indique que lorsqu'il n'y a pas de spécification. fichier dans le répertoire de requête, index.php est utilisé comme fichier d'entrée par défaut

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; : Indique que le chemin complet du fichier demandé est transmis au PHP-FPM processus, où $document_root représente le répertoire racine Web configuré par Nginx, et $fastcgi_script_name représente le chemin complet de la requête (hors nom de domaine et paramètres)

🎜include fastcgi_params; : indique l'introduction du FastCGI fichier de configuration des paramètres, qui contient certaines configurations de paramètres liées à FastCGI. 🎜🎜🎜Une fois la configuration terminée, vous pouvez utiliser la commande suivante pour recharger la configuration de Nginx : 🎜
sudo nginx -s reload
🎜Ce qui précède est la méthode pour résoudre le problème selon lequel Nginx ne peut pas analyser les fichiers PHP lors de l'utilisation de Nginx pour créer un serveur Web sur Mac. J'espère que cet article vous sera utile. 🎜

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