Migration auf die PHP-Version 8

# Pakete updaten bzw. upgraden
#
# Ggfs. weitere Anweisungen befolgen
apt update
apt -y upgrade
# Falls ein Kernelupdate notwendig war, System neu starten

# Zertifikate installieren
apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

#Pakete holen und erneut aktualisieren
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
apt update

# PHP 8 installieren
apt install php8.1

# Extensions installieren
apt install php8.1-{mysqli,cli,common,imap,ldap,xml,fpm,curl,mbstring,zip,ldap}

# PHP 8 in Apache einbinden
a2enmod proxy_fcgi setenvif
a2enconf php8.1-fpm
systemctl reload apache2

Die Installation kann mit php -v auf der Komandozeilenebene überprüft werden.

Hinweise zu MySQL und MariaDB

Warnung

Vor allen Änderungen an der Datenbank sollte immer neben dem regelmäßigen Backup weitere Maßnahmen (Z. B. Snapshots, SLQ-Dump) zur Systemwiederherstellung getroffen werden.

Für die aktuelle Entwicklung von GRIS wird MariaDB als Referenzsystem verwendet. Grundsätzlich ist das System auch unter MySQL (mind. Version 8) lauffähig. Es kann jedoch zu Einschränkungen oder Fehlern beim Auto-Update kommen. Insbesondere bei einigen SELECT-Anweisungen ist jedoch zumindest die folgende Änderung notwendig, um das DBMS kompatibel zu machen:

# Der Pfad kann je nach System abweichen
nano /etc/mysql/my.cnf

Unter [mysqld] folgende Zeile ergänzen:

sql-mode = "NO_ENGINE_SUBSTITUTION"

Mit Strg+X die Datei speichern und mit

service mysql restart

die Datenbank neu starten.