Schéma d'architecture PHP
SAPI
Les SAPI couramment utilisés en PHP incluent cli (mode ligne de commande, processus unique), php-fpm, CGI, Apache...C'est un peu comme le mode stratégie, en utilisant le même interface, mais sa mise en œuvre sera légèrement différente.SAPI (Server Application Programming Interfac) est une interface de programmation d'application (API) fournie par le serveur Web pour aider les autres développeurs à étendre les capacités de l'interface du serveur Web (API). Il fait abstraction des conditions externes et fournit un ensemble d'interfaces fixes et unifiées pour PHP interne, de sorte que la propre implémentation de PHP ne puisse pas être affectée par l'environnement externe et conserver un certain degré d'indépendance.
Démarrage et arrêt de PHP
● Phase de démarrage avant requête :
MINIT :
Phase d'initialisation du module. Initialisez certaines extensions, constantes, classes, ressources, etc., toutes choses utilisées par les scripts PHP. (Mémoire résidente, utilisable par toutes les requêtes.)IMPRESSION :
Phase d'activation du module. PHP appellera la fonction RINIT de tous les modules. A ce stade, chaque module peut également effectuer certaines opérations associées, comme l'initialisation des variables utilisées dans cette requête.● L'étape de fin après la requête :
RSHUTDOWN :
La requête pour cette page a été exécutée, ou elle a été morte (sortie) par l'utilisateur à. cette fois, PHP lancera le programme de recyclage, pour recycler les ressources utilisées par cette requête. Cette fois, la méthode RSHUTDOWN (communément appelée Request Shutdown) de toutes les extensions chargées sera exécutée. À ce moment, l'extension peut utiliser la table des variables du noyau pour faire certaines choses. Parce qu'une fois que PHP aura exécuté toutes les méthodes RSHUTDOWN étendues, il libérera toutes les ressources utilisées dans cette requête, telles que toutes les variables de la table des variables, toute la mémoire appliquée dans cette requête, etc.MSHUTDOWN :
PHP exécute tous les MSHUTDOWN étendus, libérant ainsi des ressources.Cycle de vie PHP
1. Cycle de vie SAPI à processus unique (CLI/CGI)
2 .Cycle de vie SAPI multi-processus (Apache2)
3. Cycle de vie SAPI multi-thread
4. Embed
Embed SAPI est un sapi spécial qui vous permet d'appeler des fonctions fournies par PHP/ZE en langage C/C++.Aperçu
Examinez le cycle de vie de PHP et l'ensemble du processus d'exécution de PHP. Et comment communiquer avec le module PHP via SAPI.
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!