Verlangt eine Anwendung PHP 7.4, während auf dem Server Debian 13 mit 8.4 läuft, führt über die Debian-Quellen kein Weg nach unten. Das Repository von Ondřej Surý schließt diese Lücke: Es stellt PHP 5.6 bis 8.6 nebeneinander bereit, für Debian wie für Ubuntu, gebaut von demselben Entwickler, der PHP auch innerhalb von Debian betreut.

Dafür handelst du dir eine zusätzliche Paketquelle ein, die gepflegt sein will. Bei alten PHP-Versionen kommt ein Risiko dazu, über das viele Anleitungen schweigen.

Welche Versionen es gibt

Stand November 2026 führt Sury für jede unterstützte Suite dieselbe Spanne:

php5.6  php7.0  php7.1  php7.2  php7.3  php7.4
php8.0  php8.1  php8.2  php8.3  php8.4  php8.5  php8.6

Unterstützt werden derzeit die Debian-Veröffentlichungen bullseye, bookworm und trixie sowie die Ubuntu-Veröffentlichungen jammy, noble und resolute.

Achtung
Dass eine Version verfügbar ist, heißt nicht, dass sie gepflegt wird. PHP 7.4 hat am 28. November 2022 sein Lebensende erreicht, 8.0 und 8.1 ebenfalls längst. Sicherheitskorrekturen von der PHP-Gruppe gibt es dafür nicht mehr. Installiere eine solche Version nur, wenn eine Anwendung sie zwingend verlangt — und plane dann gleich, wie du davon wegkommst.

Debian: Repository einrichten

Zuerst die Werkzeuge, die für eine Paketquelle über HTTPS nötig sind:

sudo apt update
sudo apt install -y apt-transport-https lsb-release ca-certificates curl

Den Signaturschlüssel holst du als fertiges Paket. Das ist der entscheidende Schritt, bei dem ältere Anleitungen danebenliegen — sie schieben den Schlüssel über apt-key in den globalen Schlüsselbund, und apt-key gilt seit Jahren als veraltet:

sudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb

Das Paket legt die Schlüssel unter /usr/share/keyrings/ ab, darunter deb.sury.org-php.gpg. Genau diesen Pfad trägst du in die Paketquelle ein, damit der Schlüssel nur für dieses Repository gilt und nicht für alle:

echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

$(lsb_release -sc) setzt automatisch deinen Codenamen ein, also trixie, bookworm oder bullseye. Läuft apt update ohne Warnung durch, steht die Quelle.

Ubuntu: Repository einrichten

Unter Ubuntu ist der übliche Weg das PPA desselben Entwicklers:

sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

Das PPA richtet Schlüssel und Quelle in einem Schritt ein. Alternativ funktioniert auch die Debian-Variante von oben, weil Sury für jammy, noble und resolute eigene Suiten veröffentlicht — nötig ist das aber nicht.

PHP installieren

Ab hier sprichst du Versionen direkt an. Die Paketnamen tragen die Versionsnummer:

sudo apt install php8.3-fpm php8.3-cli

Dazu die Erweiterungen, jeweils mit demselben Präfix:

sudo apt install php8.3-mysql php8.3-curl php8.3-gd php8.3-mbstring php8.3-xml php8.3-zip php8.3-intl php8.3-bcmath

Installierst du php-mysql ohne Versionsnummer, landet die Erweiterung bei der Standardversion deines Systems. Die muss nicht die sein, auf der deine Anwendung läuft. Schreib die Version deshalb immer aus.

Für eine alte Version, etwa weil eine Anwendung nicht weiter ist:

sudo apt install php7.4-fpm php7.4-cli php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml

Mehrere Versionen dürfen gleichzeitig installiert sein. Wie du festlegst, welche wo gilt, steht unter Mehrere PHP-Versionen parallel betreiben.

Prüfen, dass die Pakete von Sury kommen

apt policy php8.3-fpm
php8.3 -v

apt policy zeigt, aus welcher Quelle das installierte Paket stammt. Steht dort packages.sury.org, hat die Einrichtung geklappt. Die Versionsangabe trägt bei Sury ein Suffix wie +0~20261027.42+debian13~1.gbpXXXXXX — daran erkennst du Sury-Pakete auch später wieder.

Was du dir mit der Fremdquelle einhandelst

Das Repository wird von einer einzelnen Person gepflegt. Das läuft seit vielen Jahren zuverlässig, ist aber eine andere Zusage als die des Debian-Sicherheitsteams.

Mit dem Lebensende einer Debian-Version verschwindet auch ihre Suite. Als Debian 10 aus der Unterstützung fiel, hat Sury buster entfernt; wer dort PHP über Sury bezog, bekommt seitdem keine Aktualisierungen mehr und kommt nicht einmal an die letzte veröffentlichte Fassung heran. Den Wechsel der Debian-Version also planen, bevor sie ausläuft.

Und alte PHP-Versionen bleiben alt. Sury baut sie weiter, neue Lücken in PHP 7.4 schließt die PHP-Gruppe aber nicht mehr. Eine Anwendung, die 7.4 verlangt, gehört auf die Aufgabenliste, nicht in den Dauerbetrieb.

Tipp
Wenn du eine alte Version nur wegen einer einzigen Anwendung brauchst, betreibe sie gezielt für diesen einen Vhost und lass alles andere auf einer aktuellen Version laufen. Das geht sauber über getrennte FPM-Pools.

Repository wieder entfernen

sudo rm /etc/apt/sources.list.d/php.list
sudo apt update

Installierte Sury-Pakete bleiben liegen und bekommen keine Aktualisierungen mehr. Willst du vollständig zurück auf Debians eigene Version, entferne die versionierten Pakete und installiere die Debian-Variante neu — nach einem Backup, denn Konfiguration und Erweiterungen fallen dabei weg.

Fehlerbehebung

ProblemUrsache und Lösung
apt update meldet einen fehlenden SchlüsselDas Keyring-Paket wurde nicht installiert oder der Pfad in signed-by stimmt nicht.
Suite nicht gefunden, 404 beim AktualisierenDeine Debian- oder Ubuntu-Version wird nicht mehr unterstützt.
php -v zeigt weiterhin die alte VersionDie Kommandozeile zeigt auf ein anderes Binary. Siehe Mehrere PHP-Versionen.
Erweiterung fehlt trotz InstallationOhne Versionspräfix installiert, also für die falsche PHP-Version.
Paket kommt weiterhin aus den Debian-Quellenapt policy <paket> prüfen; Debian kann je nach Priorität Vorrang behalten.
Nach dem Update startet FPM nichtKonfiguration aus einer alten Version liegt noch im Verzeichnis der neuen. Log mit journalctl -u php8.3-fpm prüfen.

Häufige Fragen zu Sury und PHP

Ist Sury sicher?

Das Repository wird von Ondřej Surý betrieben, der PHP auch innerhalb von Debian betreut. Es ist seit Jahren der übliche Weg für abweichende PHP-Versionen. Es bleibt aber eine Fremdquelle mit einem einzelnen Betreuer — eine andere Zusage als die des Debian-Sicherheitsteams.

Kann ich damit PHP 7.4 auf Debian 13 installieren?

Ja, Sury führt 5.6 bis 8.6 für trixie. PHP 7.4 bekommt seit November 2022 allerdings keine Sicherheitskorrekturen mehr von der PHP-Gruppe. Nutze es nur, wenn eine Anwendung es zwingend verlangt.

Funktioniert das auch unter Ubuntu?

Ja. Üblich ist dort ppa:ondrej/php vom selben Entwickler. Sury veröffentlicht zusätzlich eigene Suiten für jammy, noble und resolute.

Warum soll ich apt-key nicht verwenden?

apt-key legt den Schlüssel im globalen Schlüsselbund ab, womit er für jede Paketquelle gilt. Der Schalter signed-by begrenzt ihn auf genau dieses Repository. apt-key gilt außerdem seit Jahren als veraltet.

Was passiert, wenn Sury meine Debian-Version fallen lässt?

Die Suite verschwindet, apt update meldet einen Fehler, und Aktualisierungen gibt es nicht mehr. Das ist beim Ende von Debian 10 genau so passiert. Wechsle die Debian-Version, bevor sie aus der Unterstützung fällt.

Kann ich mehrere PHP-Versionen gleichzeitig installieren?

Ja, das ist der Normalfall bei Sury. Die Pakete tragen die Versionsnummer im Namen und kommen sich nicht ins Gehege. Welche Version wo gilt, steuerst du getrennt.