Servus @Detlev-Runge-0
ich habe mir irgendwann mal die Updateprozedur zusammengeschrieben.
Vielleich erkennst du, woran es bei deiner Vorgehensweise scheitert.
PHP-Update
Es können mehrere PHP-Versionen nebeneinander betrieben werden.
Zu finden unter /etc/php/
Zur Sicherheit ist eine Liste der verwendeten PHP-Module in ein File zu schreiben, diese Liste wird später benötigt.
dpkg -l | grep php | tee packages.txt
Das System auf Letztstand bringen
apt-get update && apt-get upgrade
Vorbereiten und Installieren der neuesten PHP-Version als Vorbereitung
sudo apt install apt-transport-https lsb-release ca-certificates wget -y
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main"> /etc/apt/sources.list.d/php.list'
apt-get update && apt-get upgrade
Installation der gewünschten PHP-Version
apt-get install php8.1
Installieren der PHP-8 Module lt. anfänglich erstellter Liste (einzeln ... oder unten alle auf einmal)
apt-get install php8.1-common
apt-get install php8.1-fpm
Es lohnt sich, folgende Befehle als Erleichterung abzusetzen, da mit dieser Variante 99% aller benötigten Module installiert werden.
apt install -y php8.1-{common,fpm,xml,zip,mysql,curl,mbstring,gd,intl,xsl,bcmath,imap,soap,readline,sqlite3,pgsql,gmp}
systemctl restart php8.1-fpm
systemctl restart apache2
Vorherige PHP-Version deaktivieren, neue aktivieren
sudo a2dismod php7.4
sudo a2enmod php8.1
Anhand der Modulliste nochmals kontrollieren, ob Module fehlen und nachinstallieren.
PHP-Cli aktivieren
sudo update-alternatives --set php /usr/bin/php8.1
sudo update-alternatives --set phar /usr/bin/phar8.1
sudo update-alternatives --set phar.phar /usr/bin/phar.phar8.1
Diese Beiden stoßen vermutlich auf einen Fehler, das ist aber nicht von Interesse.
sudo update-alternatives --set phpize /usr/bin/phpize8.1
sudo update-alternatives --set php-config /usr/bin/php-config8.1
php.ini
Alle php.ini Dateien im Verzeichnis /etc/php/[Version] anpassen. Zumeist sind nur folgende Parameter zu korrigieren bzw. zu aktivieren:
max_input_vars = 15000
post_max_size = 256M
upload_max_filesize = 125M
Ein Vergleich der alten und neuen php.ini via notepad++ ist von Vorteil.
Die alten Versionen nicht entfernen!
i-doit Anpassen
Das File /etc/apache2/sites-enabled/i-doit.conf editieren.
Die php-Version darin anapsssen. (php8.0-fpm.sock --> php8.1-fpm.sock)
<FilesMatch ".php$">
<If "-f %{REQUEST_FILENAME}">
SetHandler "proxy:unix:/var/run/php/php8.0-fpm.sock|fcgi://localhost"
</If>
</FilesMatch>
Abschluss
Am Ende die Services neustarten.
systemctl restart php8.1-fpm
systemctl restart apache2
LG Stefan