PHP update von 8.0 auf 8.1
-
ich habe versucht Debian10 (Buster) php von 8.0 auf 8.1 upzudaten
habe mich an diverse Anleitungen gehalten
es wird auch mit php -v die aktuelle Version angezeigt, ich bekomme aber keine
Loginmaske mehr.
Ich habe auch neu gestartet und im Firefox den Cache geleert
wo müsste man jetzt ansetzen.
Alternative wäre eine neue Installation von Debian 12 (Bookworm) -
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.txtDas System auf Letztstand bringen
apt-get update && apt-get upgradeVorbereiten und Installieren der neuesten PHP-Version als Vorbereitung
sudo apt install apt-transport-https lsb-release ca-certificates wget -ysudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpgsudo 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 upgradeInstallation der gewünschten PHP-Version
apt-get install php8.1Installieren 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-fpmsystemctl restart apache2Vorherige PHP-Version deaktivieren, neue aktivieren
sudo a2dismod php7.4sudo a2enmod php8.1Anhand der Modulliste nochmals kontrollieren, ob Module fehlen und nachinstallieren.
PHP-Cli aktivieren
sudo update-alternatives --set php /usr/bin/php8.1sudo update-alternatives --set phar /usr/bin/phar8.1sudo update-alternatives --set phar.phar /usr/bin/phar.phar8.1Diese Beiden stoßen vermutlich auf einen Fehler, das ist aber nicht von Interesse.
sudo update-alternatives --set phpize /usr/bin/phpize8.1sudo update-alternatives --set php-config /usr/bin/php-config8.1php.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 = 125MEin 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-fpmsystemctl restart apache2LG Stefan
-
danke erstmal für die schnelle Antwort
ich habe ein paar Fehlermeldungen bekommenE: Fehlschlag beim Holen von https://packages.sury.org/php/dists/buster/InRelease Durch Clearsign signierte Datei ist nicht gültig, »NOSPLIT« erhalten (erfordert das Netzwerk eine Authentifizierung?)
E: Das Depot »https://packages.sury.org/php buster InRelease« ist nicht mehr signiert.
N: Eine Aktualisierung von solch einem Depot kann nicht auf eine sichere Art durchgeführt werden, daher ist es standardmäßig deaktiviert.
N: Weitere Details zur Erzeugung von Paketdepots sowie zu deren Benutzerkonfiguration finden Sie in der Handbuchseite apt-secure(8). -
Hallo @Detlev-Runge-0,
hmmmmm ... ich habe erst jetzt gelesen, dass du noch auf Debian 10 bist.
oa. Anleitung funktioniert unter Debian 11 einwandfrei.LG