PHP 7.4.19 und 8.0.6

  • Hallo,


    wir haben eben unsere PHP-Pakete für Debian/Ubuntu 7.4.19 und 8.0.6 aktualisiert.


    Mit Version 7.4.16 und 8.0.3 wurde ja in unseren PHP-Paketen der Pfad für Runtime-Daten (u.a. PID-File, FPM-Sockets) von /var/run/ auf /run/ geändert (ansonsten beschwert sich systemd über die angeblich veraltete Verzeichnisstruktur).


    Wie sich gezeigt hat führte das aber in sehr seltenen Fällen zu einem kniffligen Problem: wenn es FPM-Instanzen gab, die ihre Sockets noch unter /var/run/phpXY-fpm/<Vertrag>.sock abgelegt hatten, dann im LiveConfig deren Pool-Konfiguration aktualisiert wurde (mit /run/phpXY-fpm/<Vertrag>.sock) und der FPM-Daemon reloaded wurde (also reload, kein restart), dann hatte PHP versucht die "alten" Sockets der noch laufenden Instanz wiederzuverwenden, gleichzeitig wollte es aber unter dem "neuen" Dateinamen ebenfalls Sockets öffnen, und dann hat's gekracht (/var/run/ ist ja nur ein Symlink auf /run/, und PHP erkennt nicht dass die bereits vorhandenen Sockets zum selben "Ziel" gehören).


    In der Praxis führte das dann dazu, dass PHP-FPM nach einer beliebigen Änderung in einem Webspace-Vertrag abgestürzt ist und manuell neu gestartet werden musste. In /var/log/phpXY-fpm.log fand sich dann eine Fehlermeldung der Form Another FPM instance seems to already listen on /run/phpXY-fpm/<Vertrag>.sock.


    Mit dem Update werden bestehende Pool-Konfigurationen die noch auf /var/run/... verweisen auf /run/... aktualisiert.
    Alternativ genügt es auch, die globalen php.ini-Einstellungen im LiveConfig zu bearbeiten (dadurch werden alle php.ini-Dateien aktualisiert, was zum selben Ergebnis führt).


    Viele Grüße


    -Klaus Keppler

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!