Heim  >  Artikel  >  PHP-Framework  >  So aktualisieren Sie Swoole im laufenden Betrieb

So aktualisieren Sie Swoole im laufenden Betrieb

(*-*)浩
(*-*)浩Original
2019-12-07 13:59:313034Durchsuche

Mit der iterativen Aktualisierung der Swoole-Version ist sie stabil genug geworden und wird von großen Unternehmen wie Alibaba, Tencent, YY usw. verwendet. Diese Freunde erwähnen sie auch oft Eine Frage: Jedes Mal, wenn der Code aktualisiert wird, muss der Dienst gestoppt und dann neu gestartet werden, um den Code zu aktualisieren. Dieser Ansatz ist jedoch relativ grob.

So aktualisieren Sie Swoole im laufenden Betrieb

Tatsächlich bietet swoole die Neuladefunktion und unterstützt Hot-Updates des Codes vollständig.

Bevor wir swooles Reload vorstellen, wollen wir kurz darüber sprechen, wie die Web-Methode unmittelbar nach dem Ändern der Datei wirksam wird:

Ein paar Konzepte: (Empfohlenes Lernen: SWOOLE-Video-Tutorial )

1) SAPI: Es kann einfach als einheitliche Schnittstelle der PHP-Engine verstanden werden, sodass PHP mit externen Programmen interagieren kann, um zu interagieren

2) Vier wichtige Aufrufe im Lebenszyklus von PHP: MINT -> RINT -> MSHUTDOWN

3) fpm: fastcgi Process Manager


Dann ist der Prozess der FPM-Methode: FPM interagiert mit dem PHP-Prozess über die Sapi-Schnittstelle.


Der erste Schritt: Die MINT-Methode jeder Erweiterung wird aufgerufen um einige Daten zu verarbeiten. Initialisierung (resident im Speicher),

Zweiter Schritt: Für jede Anfrage wird RINT ausgeführt, um eine einzelne Anfrage zu initialisieren,

Schritt drei: PHP-Skript ausführen,

Schritt 4: Führen Sie die RSHUTDOWN-Methode aus.

Schritt 5: MSHUTDOWN wird nur ausgeführt, wenn Sie fpm stoppen möchten.

fpm verarbeitet jede Anfrage durch wiederholtes Ausführen der Schritte 2–4.

Im dritten Schritt wird das PHP-Skript dynamisch ausgeführt, da das PHP-Skript jedes Mal ausgeführt werden muss und jedes PHP-Skript eine Übersetzung der PHP-Datei in den Prozess haben muss Opcode (der relativ zeitaufwändig ist) führte zur Entwicklung des Opcache-Tools.


opcache: Speichern Sie den PHP-übersetzten Opcode-Codebaum zur direkten Verwendung direkt im gemeinsamen Speicher und reduzieren Sie so den Aufwand für die jedes Mal erfolgende Übersetzung von PHP in Opcode.


opcache-Problem: Laut seiner Beschreibung wurde die PHP-Datei geändert und konnte nicht sofort aktualisiert werden


opcache-Lösung: Es gibt eine Konfiguration zum Festlegen des Erkennungsintervalls ob die Datei schon länger aktualisiert wurde, sodass Sie im zweiten Schritt die Möglichkeit haben, verwandte Dateien neu zu laden. Natürlich können Sie fpm auch direkt neu laden, um den Effekt von PHP zu erzielen Hot-Update (Opcache-Erweiterung) Im vierten Schritt können Sie den entsprechenden Opcode-Cache leeren.

Das obige ist der detaillierte Inhalt vonSo aktualisieren Sie Swoole im laufenden Betrieb. 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
Vorheriger Artikel:So schalten Sie Swoole einNächster Artikel:So schalten Sie Swoole ein