Maison développement back-end Problème PHP Que dois-je faire si Mac Nginx n'analyse pas PHP ?

Que dois-je faire si Mac Nginx n'analyse pas PHP ?

Jul 23, 2021 am 10:02 AM
nginx php

La solution pour mac nginx qui n'analyse pas php : 1. cp un nouveau fichier avec le nom correct ; 2. Exécutez la commande "php-fpm --fpm-config..." ; ;4. Tuez le processus de solution.

Que dois-je faire si Mac Nginx n'analyse pas PHP ?

L'environnement d'exploitation de cet article : système macOS10.15, version PHP7.1, ordinateur MacBook Air 2019

Que dois-je faire si mac nginx n'analyse pas php ?

Les pièges rencontrés par mac lors du déploiement de php sous nginx

Quelqu'un m'a demandé de l'aider à déployer un site Web, puis j'ai d'abord voulu le déboguer dans nginx local. Au début, lorsque j'ai ouvert la page, elle affichait 403. J'avais déjà vu cela. C'était un problème d'autorisation avec nginx. Après avoir modifié les autorisations, j'ai constaté que lorsque j'accédais à la page PHP, je la téléchargeais directement sans l'analyser. Je me suis souvenu que mon ordinateur n'avait peut-être pas d'environnement PHP, j'ai donc téléchargé PHP. Puis toujours le même problème. Bref, comme je ne connais pas très bien PHP (j'utilisais auparavant des logiciels comme xampp), j'ai mis du temps à le faire.

La première chose à comprendre est que nginx lui-même ne peut pas gérer PHP, il s'agit simplement d'un serveur Web. Lorsque le front-end demande PHP, nginx doit envoyer l'interface à l'interpréteur PHP pour traitement, puis renvoyer le résultat au serveur. l'extrémité avant. Généralement, nginx envoie la demande au processus de gestion fastcgi pour traitement. Tel que configuré dans nginx :

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;#这里原来不是$document_root,搞得我很蒙,还好网上查到改好了,不然会报file not found
    include        fastcgi_params;
}
Copier après la connexion

Donc, pour démarrer un fastcgi, php-fpm est utilisé ici. C'est un gestionnaire php fastcgi, utilisé uniquement pour le langage php (l'ancienne version de php doit télécharger php-fpm séparément, j'utilise php). -fpm l'intègre déjà).

Il y a beaucoup de questions bizarres ici.

  • La première exécution de php-fpm

échec : le fichier /private/etc/php-fpm.conf est introuvable,

Solution : mais il y a php-fpm.conf.default dans ce fichier de répertoire, donc cp un nouveau fichier avec le nom correct

  • Exécutez php-fpm pour la deuxième fois

Échec : impossible de trouver /usr/var/log/php-fpm.log

Solution : il n'existe pas de répertoire de ce type du tout, je l'ai modifié dans le fichier de conf mais cela n'a eu aucun effet. Je n'ai pas eu d'autre choix que d'exécuter php-fpm via la commande suivante (j'utiliserai cette commande pour l'exécuter plus tard)

php-fpm --fpm-config /private/etc/php-fpm.conf  --prefix /usr/local/var
Copier après la connexion
  • Exécutez php-fpm. pour la troisième fois

Failed: No pool defined. at least one pool section must be specified in config file
Copier après la connexion

Solution : Allez dans le répertoire /etc/php-fpm.d/ et trouvez le fichier www.conf.default, cp un fichier nommé www.conf

  • Exécutez php-fpm pour la quatrième fois

Échec : le port est occupé

Solution : tuer ce processus

sudo lsof -i tcp:9000#Trouver le numéro de processus occupant le port 9000

kill -9 port#Kill !

  • Cinquième fois que j'exécute php-fpm

Succès !

##Ajout :

Il y a une petite différence lors de la configuration de nginx Sur mac, php-fpm écoute directement le port 9000, mais sur le serveur, il écoute le php7.0-fpm.sock mais pas le. fichier socket. Cette méthode peut être plus rapide, vous devez donc modifier

fastcgi_pass 127.0.0.1:9000;
Copier après la connexion

dans la configuration php sur nginx par :

fastcgi_pass unix:/run/php/php7.0-fpm.sock;
Copier après la connexion

pour exécuter avec succès php

Apprentissage recommandé : "Tutoriel vidéo PHP"

Continuer à ajouter

Une chose très intéressante, lorsque je veux télécharger une vidéo de 27 millions, nginx a directement signalé 413 Request Entity Too Large, mais je ne l'ai pas défini...

Ajouter

server {
    ...
    client_max_body_size 80m;
    ...
}
Copier après la connexion

Relisez la configuration dans la configuration de nginx ( set-enabled/default), Redémarrez le serveur

nginx -s reload
service nginx restart
Copier après la connexion

Ensuite, vous devez modifier php.ini, y modifier deux configurations

upload_max_filesize = 80M
post_max_size = 80M
Copier après la connexion

Puis arrêtez le processus php-fpm, puis redémarrez~

ps : Professeur, il a vraiment ne fait aucune recherche... La raison pour laquelle le mp4 ne peut pas être téléchargé est parce que ce type n'est pas ajouté au système, je dois le trouver moi-même... Mal à l'aise :(

note : il est maintenant plus recommandé de l'utiliser. apt au lieu d'apt-get sous Ubuntu... alors il est temps de changer

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Objectif de PHP: Construire des sites Web dynamiques Objectif de PHP: Construire des sites Web dynamiques Apr 15, 2025 am 12:18 AM

PHP est utilisé pour créer des sites Web dynamiques, et ses fonctions principales incluent: 1. Générer du contenu dynamique et générer des pages Web en temps réel en se connectant à la base de données; 2. Traiter l'interaction utilisateur et les soumissions de formulaires, vérifier les entrées et répondre aux opérations; 3. Gérer les sessions et l'authentification des utilisateurs pour offrir une expérience personnalisée; 4. Optimiser les performances et suivre les meilleures pratiques pour améliorer l'efficacité et la sécurité du site Web.

PHP et Python: exemples de code et comparaison PHP et Python: exemples de code et comparaison Apr 15, 2025 am 12:07 AM

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

PHP: Gestion des bases de données et logique côté serveur PHP: Gestion des bases de données et logique côté serveur Apr 15, 2025 am 12:15 AM

PHP utilise les extensions MySQLI et PDO pour interagir dans les opérations de base de données et le traitement de la logique côté serveur, et traite la logique côté serveur via des fonctions telles que la gestion de session. 1) Utilisez MySQLI ou PDO pour vous connecter à la base de données et exécuter les requêtes SQL. 2) Gérer les demandes HTTP et l'état de l'utilisateur via la gestion de session et d'autres fonctions. 3) Utiliser les transactions pour assurer l'atomicité des opérations de base de données. 4) Empêcher l'injection de SQL, utiliser les connexions de gestion des exceptions et de clôture pour le débogage. 5) Optimiser les performances via l'indexation et le cache, écrivez du code très lisible et effectuez une gestion des erreurs.

PHP et Python: différents paradigmes expliqués PHP et Python: différents paradigmes expliqués Apr 18, 2025 am 12:26 AM

PHP est principalement la programmation procédurale, mais prend également en charge la programmation orientée objet (POO); Python prend en charge une variété de paradigmes, y compris la POO, la programmation fonctionnelle et procédurale. PHP convient au développement Web, et Python convient à une variété d'applications telles que l'analyse des données et l'apprentissage automatique.

Comment configurer le nom de domaine du serveur cloud dans nginx Comment configurer le nom de domaine du serveur cloud dans nginx Apr 14, 2025 pm 12:18 PM

Comment configurer un nom de domaine NGINX sur un serveur cloud: Créez un enregistrement A pointant vers l'adresse IP publique du serveur cloud. Ajoutez des blocs d'hôtes virtuels dans le fichier de configuration Nginx, en spécifiant le port d'écoute, le nom de domaine et le répertoire racine du site Web. Redémarrez Nginx pour appliquer les modifications. Accéder à la configuration du test de nom de domaine. Autres notes: Installez le certificat SSL pour activer HTTPS, assurez-vous que le pare-feu autorise le trafic Port 80 et attendez que la résolution DNS prenne effet.

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment vérifier si Nginx est démarré Comment vérifier si Nginx est démarré Apr 14, 2025 pm 01:03 PM

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

PHP vs Python: cas d'utilisation et applications PHP vs Python: cas d'utilisation et applications Apr 17, 2025 am 12:23 AM

PHP convient aux systèmes de développement Web et de gestion de contenu, et Python convient aux scripts de science des données, d'apprentissage automatique et d'automatisation. 1.Php fonctionne bien dans la création de sites Web et d'applications rapides et évolutifs et est couramment utilisé dans CMS tel que WordPress. 2. Python a permis de manière remarquable dans les domaines de la science des données et de l'apprentissage automatique, avec des bibliothèques riches telles que Numpy et Tensorflow.

See all articles