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.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 = 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-fpm
systemctl restart apache2
LG 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