PHP-Lebenszyklus
PHP-Architekturdiagramm
SAPI
SAPI (Server Application Programming Interface) ist eine Anwendungsprogrammierschnittstelle (API), die vom Webserver bereitgestellt wird, um anderen Entwicklern bei der Erweiterung der Webserverfunktionen zu helfen. Andere Entwickler entwickeln Anwendungsprogrammierschnittstellen (APIs), die die Funktionalität des Webs erweitern Server. 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. Zu den häufig verwendeten SAPIs in PHP gehören cli (Befehlszeilenmodus, einzelner Prozess), php-fpm, CGI, Apache...
Es ähnelt ein wenig dem Strategiemodus und verwendet dieselbe Schnittstelle, aber die Implementierung wird dies tun etwas anders sein.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 (beendet). Zu diesem Zeitpunkt startet PHP die Recyclingprogramm, um die in dieser Anfrage verwendeten Daten 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 von dieser Anfrage verwendeten Ressourcen frei, wie zum Beispiel alle Variablen in der Variablentabelle, den gesamten in dieser Anfrage beantragten Speicher usw. MSHUTDOWN: PHP führt alle erweiterten MSHUTDOWN aus und gibt Ressourcen frei. Lebenszyklus von PHP1. Einzelprozess-SAPI-Lebenszyklus (CLI/CGI)
2. Multi-Prozess-SAPI-Lebenszyklus (Apache2)
3. Multithread-SAPI-Lebenszyklus
4.Einbetten
SAPI einbetten ist ein spezielles Sapi, mit dem Sie von PHP/ZE bereitgestellte Funktionen in der Sprache C/C++ aufrufen können Empfohlenes Tutorial: "PHP Tutorial
》Das obige ist der detaillierte Inhalt vonPHP-Lebenszyklus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!