Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Lebenszyklus
PHP-Architekturdiagramm
SAPI
Zu den häufig verwendeten SAPIs in PHP gehören cli (Befehlszeilenmodus, Einzelprozess), php-fpm, CGI, Apache...Es ist ein bisschen wie der Strategiemodus, der verwendet gleiche Schnittstelle, aber die Implementierung wird etwas anders sein.SAPI (Server Application Programming Interface) ist eine Anwendungsprogrammierschnittstelle (API), die vom Webserver bereitgestellt wird, um anderen Entwicklern bei der Erweiterung der Webserverschnittstelle (API) zu helfen. Es abstrahiert externe Bedingungen und stellt eine Reihe fester und einheitlicher Schnittstellen für internes PHP bereit, sodass die eigene Implementierung von PHP nicht von der externen Umgebung beeinflusst werden kann und ein gewisses Maß an Unabhängigkeit gewahrt bleibt.
Startup und Beendigung von PHP
● Startphase vor Anfrage:
MINIT:
Modulinitialisierungsphase. Initialisieren Sie einige Erweiterungen, Konstanten, Klassen, Ressourcen usw., alles Dinge, die von PHP-Skripten verwendet werden. (Residenter Speicher, kann von allen Anfragen verwendet werden.)DRUCKEN:
Modulaktivierungsphase. PHP ruft die RINIT-Funktion aller Module auf. In dieser Phase kann jedes Modul auch einige verwandte Vorgänge ausführen, z. B. die Initialisierung der in dieser Anforderung verwendeten Variablen.● Die Endphase nach der Anfrage:
RSHUTDOWN:
Die Anfrage für diese Seite wurde ausgeführt oder vom Benutzer beendet Dieses Mal startet PHP das Recyclingprogramm, um die von dieser Anfrage verwendeten Ressourcen zu recyceln. Dieses Mal wird die RSHUTDOWN-Methode (allgemein als Request Shutdown bezeichnet) aller geladenen Erweiterungen ausgeführt. Zu diesem Zeitpunkt kann die Erweiterung die Variablentabelle im Kernel verwenden, um einige Dinge zu tun. Denn sobald PHP alle erweiterten RSHUTDOWN-Methoden ausführt, gibt es alle in dieser Anfrage verwendeten Ressourcen frei, wie zum Beispiel alle Variablen in der Variablentabelle, den gesamten in dieser Anfrage angeforderten Speicher usw.MSHUTDOWN:
PHP führt alle erweiterten MSHUTDOWN aus und gibt Ressourcen frei.PHP-Lebenszyklus
1. Einzelprozess-SAPI-Lebenszyklus (CLI/CGI)
2 .Multiprozess-SAPI-Lebenszyklus (Apache2)
3. Multithreaded SAPI-Lebenszyklus
4. Embed
Embed SAPI ist ein spezielles Sapi, mit dem Sie von PHP/ZE bereitgestellte Funktionen in der Sprache C/C++ aufrufen können.Übersicht
Werfen wir einen Blick auf den Lebenszyklus von PHP und den gesamten Ausführungsprozess von PHP. Und wie man mit dem PHP-Modul über SAPI kommuniziert.
Das obige ist der detaillierte Inhalt vonPHP-Lebenszyklus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!