PHP est un langage de programmation largement utilisé, son mécanisme et son processus de fonctionnement ont toujours été ce à quoi nous devons prêter attention et apprendre. Parmi elles, les étapes par lesquelles passe une requête sont des problématiques souvent abordées lors du développement. Cet article présentera les étapes par lesquelles passe une requête PHP, afin que les lecteurs puissent avoir une compréhension complète du processus de fonctionnement de PHP.
1. La composition de base d'une demande
Avant l'explication spécifique, comprenons d'abord la composition de base d'une demande. Une requête PHP contient au moins les trois parties suivantes :
1. Le client envoie une requête (le navigateur accède au serveur Web)
2 Le serveur accepte la requête et traite la requête via l'interpréteur PHP
3. les résultats (fichiers HTML, images, musique ou autre format)
Sur la base de la composition ci-dessus, nous la divisons en quatre étapes suivantes pour comprendre le processus d'exécution des requêtes PHP.
2. Le serveur reçoit la requête
Avant de commencer officiellement à traiter la requête PHP, le serveur doit d'abord recevoir la requête. De manière générale, le serveur utilise le port 80 pour recevoir les requêtes HTTP par défaut. Après avoir reçu la requête, le serveur générera et enregistrera les informations globales de la requête (telles que l'heure de la requête, la méthode de requête, l'adresse IP, etc.). Le but de générer ces informations est de faciliter l’analyse statistique, la journalisation et le débogage du site Web.
3. Distribution des demandes
Une fois que le serveur a reçu la demande, nous commencerons la distribution des demandes. Selon la requête spécifique, nous pouvons diviser la requête selon les deux types suivants :
1. Requête statique : Cela signifie que lorsque l'utilisateur demande un fichier, le serveur renvoie directement le contenu du fichier, sans traitement, calcul ou autre supplémentaire. requête, etc.
2. Requête dynamique : Lorsque l'utilisateur demande un fichier composé de code PHP, le serveur doit traiter le code PHP dans le fichier via l'interpréteur PHP, générer du contenu dynamique et le renvoyer à l'utilisateur.
Pour les requêtes statiques, le serveur peut renvoyer directement le contenu du fichier demandé, tandis que pour les requêtes dynamiques, le serveur transmettra la requête au processeur PHP (interpréteur PHP) pour traitement.
4. Le processeur PHP traite la requête
Une fois que le serveur a transmis la requête dynamique à l'interpréteur PHP, l'interpréteur PHP répondra à la requête en fonction des règles du code PHP. Nous pouvons diviser le processus du processeur PHP en les étapes suivantes :
1. Analyse du code de niveau supérieur : Analysez le code de niveau supérieur (tel que les appels de fonction) pour garantir l'exactitude du code.
2. Compiler : Compilez le code PHP en code binaire, c'est-à-dire OPCODE.
3. Exécution : Exécutez l'OPCODE compilé pour générer du contenu dynamique.
4. Renvoyer les résultats : Renvoie le contenu dynamique obtenu par exécution au serveur, et le serveur le renvoie au navigateur client.
Il convient de souligner que le runtime PHP effectuera un travail d'initialisation interne et établira certaines variables globales et méthodes internes lorsque chaque fichier PHP commencera à s'exécuter. Ainsi, une fois que PHP commence à exécuter le script, il y aura forcément une surcharge de temps. Si le script génère simplement du contenu HTML statique, cette fois-ci, la surcharge est gaspillée.
5. Le serveur répond à la demande
Une fois que le processeur PHP a renvoyé le contenu dynamique généré au serveur, le serveur transmet le contenu au navigateur de l'utilisateur via le réseau. Une fois que le navigateur de l'utilisateur a reçu le contenu, il peut restituer l'effet de page.
6. Résumé
Ce qui précède est le processus principal par lequel PHP traite une demande et les détails de l'ensemble du processus. L'auteur espère que cet article pourra donner à chacun une compréhension complète du processus de traitement des demandes. Dans le même temps, il est recommandé d'éviter ou de minimiser les allocations de mémoire inutiles lors du développement d'applications PHP afin d'améliorer les performances et l'efficacité, afin de mieux satisfaire les utilisateurs. . besoin.
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!