FreeBSD Update auf php8.3

Dezember 20, 2023 - Lesezeit: 3 Minuten

Ein Update auf eine aktuelle php Version war erforderlich. Hier die Schritte um unter FreeBSD von php7.2 auf php8.3 das Update durchzuführen. Vorher sollte der Webserver und der php-fpm gestopt werden.

Abfrage, welche Module und welche Versionen installiert sind:

# pkg info -x php

php72-7.2.34
php72-bcmath-7.2.34
php72-bz2-7.2.34
php72-ctype-7.2.34
php72-curl-7.2.34
php72-dom-7.2.34
php72-exif-7.2.34
php72-extensions-1.0
php72-fileinfo-7.2.34
php72-filter-7.2.34
php72-gd-7.2.34
php72-hash-7.2.34
php72-iconv-7.2.34
php72-json-7.2.34
php72-mbstring-7.2.34
php72-mysqli-7.2.34
php72-opcache-7.2.34
php72-openssl-7.2.34
php72-pdo-7.2.34
php72-pdo_sqlite-7.2.34
php72-phar-7.2.34
php72-posix-7.2.34
php72-session-7.2.34
php72-simplexml-7.2.34
php72-sqlite3-7.2.34
php72-tokenizer-7.2.34
php72-xml-7.2.34
php72-xmlreader-7.2.34
php72-xmlwriter-7.2.34
php72-zip-7.2.34
php72-zlib-7.2.34

Ausgabe in eine Datei umleiten, diese Ausgabe kann dann zur Installation der neuen Version, hier php8.3 verwendet werden.

# pkg info -x php | sed s/72/83/g | sed s/-7.2.34//g | sed s/_1//g > php8.pkg

Prüfen, welche Pakete deinstalliert werden, ohne das Kommando auszuführen. Pkg bietet die dry-run Option an:

# pkg remove -nx php72

Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 31 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        php72: 7.2.34
        php72-bcmath: 7.2.34
        php72-bz2: 7.2.34
        php72-ctype: 7.2.34
        php72-curl: 7.2.34
        php72-dom: 7.2.34
        php72-exif: 7.2.34
        php72-extensions: 1.0
        php72-fileinfo: 7.2.34
        php72-filter: 7.2.34
        php72-gd: 7.2.34
        php72-hash: 7.2.34
        php72-iconv: 7.2.34
        php72-json: 7.2.34
        php72-mbstring: 7.2.34
        php72-mysqli: 7.2.34
        php72-opcache: 7.2.34
        php72-openssl: 7.2.34
        php72-pdo: 7.2.34
        php72-pdo_sqlite: 7.2.34
        php72-phar: 7.2.34
        php72-posix: 7.2.34
        php72-session: 7.2.34
        php72-simplexml: 7.2.34
        php72-sqlite3: 7.2.34
        php72-tokenizer: 7.2.34
        php72-xml: 7.2.34
        php72-xmlreader: 7.2.34
        php72-xmlwriter: 7.2.34
        php72-zip: 7.2.34
        php72-zlib: 7.2.34

Number of packages to be removed: 31

The operation will free 36 MiB.

Wenn die Ausgabe ok ist, dann Feuer frei:

# pkg remove -x php72

Danach die erforderlichen Pakete aus der o.g. Datei installieren:

# cat php8.pkg | xargs -L1 -p pkg install -y

Nach Abschluß, php-fpm und den Webserver starten.