Maison  >  Article  >  développement back-end  >  Explication détaillée du cycle de vie de PHP

Explication détaillée du cycle de vie de PHP

小云云
小云云original
2018-02-23 11:21:041330parcourir

SAPI

SAPI(Server Application Programming Interfac) is an application programming interface (API) provided by the web server to help other developers in extending the web server capabilities.

SAPI est une interface de programmation d'application (API) utilisée pour aider d'autres programmes de développement à étendre les fonctionnalités des serveurs Web. 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.
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, utilisant la même interface, mais l'implémentation sera être légèrement différent.

Explication détaillée du cycle de vie de PHP

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

    • PRINT : 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 par 本次请求.

  • La phase de fin après la requête :

    • RSHUTDOWN : La requête pour cette page a été exécutée, ou elle a été mourir par l'utilisateur ( exit), à ce moment 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 demandée dans cette requête, etc.

    • MSHUTDOWN : PHP exécute tous les MSHUTDOWN étendus et libère des ressources.

Cycle de vie de PHP

1. Cycle de vie SAPI à processus unique (CLI/CGI)

Explication détaillée du cycle de vie de PHP

2. Cycle de vie SAPI multi-processus (Apache2)

Explication détaillée du cycle de vie de PHP

3. 🎜>

Explication détaillée du cycle de vie de PHP

4.Embed

Embed SAPI est un sapi spécial qui vous permet d'appeler PHP/ZE dans une fonction de langage C/C++. (Je n'y connais pas grand chose, j'y jetterai un oeil demain ! http://www.laruence.com/2008/09/23/539.html)

Aperçu

Parlez du cycle de vie de PHP et de l'ensemble du processus d'exécution de PHP. Et comment communiquer avec le module PHP via SAPI.

(La photo est essentiellement tirée du lien de référence, debout sur les épaules des prédécesseurs.)

Recommandations associées :

Analyse du code source PHP-Cycle de vie PHP_Tutoriel PHP

Cycle de vie des variables PHP : Analyse du code source PHP-Cycle de vie PHP

Vie PHP cycle opcode cache Qu'est-ce que l'analyse du dictionnaire PHP ? Comment y faire face

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