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.