Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung des PHP-Lebenszyklus

Detaillierte Erklärung des PHP-Lebenszyklus

小云云
小云云Original
2018-02-23 11:21:041423Durchsuche

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 ist eine Anwendungsprogrammierschnittstelle (API), die anderen Entwicklungsprogrammen hilft, die Funktionalität von Webservern zu erweitern. 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, Einzelprozess), php-fpm, CGI, Apache...
Es ähnelt ein wenig dem Strategiemodus und verwendet dieselbe Schnittstelle, aber die Implementierung wird es tun etwas anders sein.

Detaillierte Erklärung des PHP-Lebenszyklus

Start 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 von 本次请求 verwendeten Variablen.

  • Die Endphase nach der Anfrage:

    • RSHUTDOWN: Die Anfrage für diese Seite wurde ausgeführt, oder es wurde vom Benutzer gestorben (exit), zu diesem Zeitpunkt 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 verwendeten Speicher usw.

    • MSHUTDOWN: PHP führt alle erweiterten MSHUTDOWN aus und gibt Ressourcen frei.

Lebenszyklus von PHP

1. Einzelprozess-SAPI-Lebenszyklus (CLI/CGI)

Detaillierte Erklärung des PHP-Lebenszyklus

2. Multi-Prozess-SAPI-Lebenszyklus (Apache2)

Detaillierte Erklärung des PHP-Lebenszyklus

3. Multithread-SAPI-Lebenszyklus

Detaillierte Erklärung des PHP-Lebenszyklus

4.Embed

Embed SAPI ist ein spezielles Sapi, mit dem Sie PHP/ZE in der C/C++-Sprachfunktion aufrufen können. (Ich weiß nicht viel darüber, ich schaue es mir morgen an! http://www.laruence.com/2008/09/23/539.html)

Übersicht

Sprechen Sie über den Lebenszyklus von PHP und den gesamten Ausführungsprozess von PHP. Und wie man mit dem PHP-Modul über SAPI kommuniziert. (Das Bild stammt im Wesentlichen vom Referenzlink und steht auf den Schultern der Vorgänger.)

Verwandte Empfehlungen:

PHP-Quellcode-Analyse – PHP-Lebenszyklus_PHP-Tutorial

PHP-Variablen-Lebenszyklus: PHP-Quellcode-Analyse – PHP-Lebenszyklus

PHP-Leben Zyklus-Opcode-Cache Was ist ein PHP-Wörterbuch-Scan? Wie man damit umgeht

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des PHP-Lebenszyklus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn