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.
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.
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
| Problem | Ursache und Lösung |
|---|---|
apt update meldet einen fehlenden Schlüssel | Das Keyring-Paket wurde nicht installiert oder der Pfad in signed-by stimmt nicht. |
| Suite nicht gefunden, 404 beim Aktualisieren | Deine Debian- oder Ubuntu-Version wird nicht mehr unterstützt. |
php -v zeigt weiterhin die alte Version | Die Kommandozeile zeigt auf ein anderes Binary. Siehe Mehrere PHP-Versionen. |
| Erweiterung fehlt trotz Installation | Ohne Versionspräfix installiert, also für die falsche PHP-Version. |
| Paket kommt weiterhin aus den Debian-Quellen | apt policy <paket> prüfen; Debian kann je nach Priorität Vorrang behalten. |
| Nach dem Update startet FPM nicht | Konfiguration 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.