14
August
2026
So aktualisieren Sie PHP von Version 8.1 auf 8.4
14:58

So aktualisieren Sie PHP von Version 8.1 auf 8.4

14 August 2026 14:58

Im Jahr 2026 gibt es zwei Möglichkeiten, PHP zu aktualisieren.

Einführung

Viele Linux-Versionen verwenden immer noch PHP 8.1. Moderne Projekte erfordern möglicherweise eine neuere Version von 8.3 oder 8.4, um ausgeführt zu werden. Die neueste zur Installation verfügbare Version ist PHP 8.5.

Erster Weg- Installation von PHP 8.3, 8.4 oder 8.5 aus dem oandrej PPA-Repository

sudo add-apt-repository ppa:ondrej/apache2
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php

Zweiter Weg- Installation von PHP aus einem Deb-Repository eines Drittanbieters https://packages.sury.org/php/
In dem Artikel habe ich mir die zweite Methode angesehen – Deb von packets.sury.org/php/.

So installieren Sie neue PHP-Versionen

Zunächst empfehle ich, das bisherige Repository zu deaktivieren und das veraltete PHP7 zu entfernen.

sudo add-apt-repository --remove ppa:ondrej/php
sudo apt remove php7*

Nachricht:

Dieses Repository wird derzeit mit https://packages.sury.org/php/ zusammengeführt.

Wenn Sie auf der Website lesen https://packages.sury.org/php datei README.txt, der Installationspfad lautet wie folgt:

1) Bereiten Sie die Installation vor: Aktualisieren Sie den Paketcache und installieren Sie die Dienstprogramme, die zum Herunterladen der Repository-Schlüsseldatei aus dem Internet erforderlich sind.

sudo apt-get update
sudo apt-get -y install lsb-release ca-certificates curl

2) aus dem Paket debsuryorg-archive-keyring.deb, heruntergeladen von https://packages.sury.org/
Installieren Sie den Repository-Signaturschlüssel auf Ihrem lokalen PC.

Laden Sie zunächst die DEB-Paketinstallationsdatei in den tmp-Ordner herunter:

curl -sSLo /tmp/debsuryorg-archive-keyring.deb \
https://packages.sury.org/debsuryorg-archive-keyring.deb

Anschließend installieren Sie das Paket mit dem Schlüssel

dpkg -i /tmp/debsuryorg-archive-keyring.deb

Der Schlüssel wird im Ordner /usr/share/keyrings/ angezeigt.
Wo ist der Name der Schlüsselbunddatei:debsuryorg-archive-keyring.gpg

3) Erstellen Sie im Ordner /etc/apt/sources.list.d/ einen Eintrag für das neue Repository

Die Datei php.list hat einen Zeileninhalt:

deb [signed-by=/usr/share/keyrings/debsuryorg-archive-keyring.gpg] https://packages.sury.org/php/ jammy main

Wo anstelle von jammy müssen Sie den Codenamen Ihrer Distribution angeben.
Der Distributionsname kann mit dem Befehl gefunden werden

lsb_release -a

Sie können den Codenamen auch anhand der Linux-Versionsnummer herausfinden.
Die beliebtesten Linux-Versionen haben folgende Codewörter:

  • Ubuntu 20.04 LTS -Schwerpunkt
  • Ubuntu 22.04 LTS -jammy
  • Ubuntu 24.04 LTS -edel
  • Linux Mint 21 -jammy
  • Linux Mint 22 -edel
  • Debian 11 -Volltreffer
  • Debian 12 -Bücherwurm
  • Debian 13 -Trixie

4) PHP 8.4 installieren

sudo apt-get update
sudo apt-get install php8.4-common

Probleme und Lösungen

Die Priorität des Linux-Betriebssystem-Repositorys ist möglicherweise höher als die des Drittanbieter-Repositorys, was dazu führt, dass Programme und Bibliotheken nicht aus dem Drittanbieter-Repository installiert werden.

Erstellen einer Datei zur Angabe der Installationspriorität, d. h. zum Anheften von Paketen an ein Repository: APT Pinning

sudo nano 

Dateiinhalt:

Paket: libgd3
Pin: release o=deb.sury.org
Pin-Priorität: 1001

Paket: php*
Pin: release o=deb.sury.org
Pin-Priorität: 1001

1001 – bedeutet die höchste Priorität, die höher ist als die des Betriebssystem-System-Repositorys.

Zuvor stand die LibGD3-Bibliothek aus dem Ubuntu-System-Repository im Konflikt mit den Anforderungen des PHP-Grafikmoduls php8.4-gd verwenden Sie LibGD3 Version 2.3.3,

  • im System-Repository Version 2.3.0,
  • Version 2.3.3 aus dem deb.sury.org-Repository wird mit einer höheren Priorität von 1001 installiert.

Der Befehl sagt Folgendes:

apt-cache policy libgd3

Jetzt wird kein Fehler mehr angezeigt. Wir machen es wie gewohnt:

sudo apt-get update
sudo apt-get install php8.4-common

Überprüfung der PHP-Version

php --version

Standardmäßiger Wechsel der PHP-Version im Betriebssystem

Nur wenn die PHP-Version nicht die erforderliche ist:

sudo update-alternatives --config php

Installation des Apache-Moduls

sudo apt-get install libapache2-mod-php8.4

Ursachen des Fehlers „undefinierte Konstante IMG_JPG“

Wenn Sie ein PHP-Projekt ausführen, das Grafiken verwendet, erhalten Sie möglicherweise eine Fehlermeldung bezüglich IMG_JPG

Wenn Sie die vorherigen Schritte (Installation einer der neuesten PHP-Versionen) abgeschlossen haben, müssen Sie zusätzlich das Modul installieren:

sudo apt-get install libgd3
sudo apt-get install php8.4-gd

Liste der zu installierenden Apache2-Module

Für das Projekt habe ich zusätzlich die Apache-Webserver-Pakete und -Module installiert:

sudo apt install php8.4 php8.4-cli php8.4-common
sudo apt install libapache2-mod-php8.4 
sudo apt install php8.4-curl php8.4-intl php8.4-mbstring php8.4-mysql
sudo apt install php8.4-readline php8.4-xml php8.4-yaml php8.4-zip php8.4-apcu

Aktivieren des PHP-Moduls

sudo a2enmod php8.4
sudo service apache2 restart

Wechsel zwischen FastCGI FPM und regulärer Modulkonfiguration

Der Status des Moduls kann mit dem Befehl ermittelt werden

sudo systemctl status php8.4-fpm

Wenn die FPM-Version die gleiche wie PHP ist, also in diesem Fall 8.4, machen wir nichts.

Wenn die Versionen unterschiedlich sind, deaktivieren Sie die Module FCGI und setenvif
sudo a2dismod actions alias proxy_fcgi setenvif
sudo a2disconf php8.4-fpm
Und lasst uns sie einschalten
sudo a2enconf php8.4-fpm
sudo systemctl reload apache2

sudo a2enmod Actions Alias ​​proxy_fcgi setenvif


Dieser Artikel wurde mit PHP Version 8.4 getestet, funktioniert aber möglicherweise mit den Versionen 8.3 und 8.5, wenn Sie die entsprechenden Zahlen in den Terminalbefehlen ersetzen.



Verwandte Veröffentlichungen