Was passiert, wenn Sie PHP aktualisieren, während Ihr Server läuft?

Was passiert, wenn Sie PHP aktualisieren, während Ihr Server läuft?

Ich stelle Dateien mit Apache und PHP-FPM über FCGI bereit.

yum updateWas passiert, wenn ich auf einem Live-Server arbeite und PHP aktualisiert wird?

Ich kann mir drei Szenarien vorstellen:

  • php-fpmwird gestoppt und nach der Aktualisierung des Pakets neu gestartet
  • php-fpmverwendet weiterhin die vorherige PHP-Version, bis es neu gestartet wird
  • php-fpmläuft weiter und wechselt die PHP-Versionen im laufenden Betrieb, möglicherweise sogar während der Ausführung eines Skripts (z. B. Ausführen eines Skripts mit der alten Version und eines Include mit der neuen Version)

Welches davon spiegelt wider, was tatsächlich passiert?

Antwort1

Soweit ich es der .spec-Datei entnehmen kann, wird php-fpm neu gestartet, was bedeutet, dass alle laufenden Prozesse gestoppt werden. Siehehttps://github.com/remicollet/remirepo/blob/master/php/php56/php56.spec

Antwort2

Um eine bessere Vorhersehbarkeit zu gewährleisten, rate ich dringend davon ab, „yum update“ auf einem Live-Server auszuführen. Stattdessen sollten Sie eine Nicht-PHP-Wartungsseite erstellen und diese bereitstellen, während Sie PHP aktualisieren. Wenn Sie fertig sind, wechseln Sie anschließend wieder zu Ihrer PHP-Anwendung und starten Sie auch php-fpm neu.

verwandte Informationen