Wie installiert man PHP 8 auf Ubuntu 20.04
PHP 8.1 auf Ubuntu 20.04 installieren: Schritt für Schritt über das ondrej/php-PPA, Extensions migrieren, Apache-Modul umstellen und CLI-Standard setzen.
PHP ist eine der am häufigsten verwendeten Backend Programmiersprachen. Viele beliebte CMS und Frameworks wie WordPress oder Laravel sind in PHP geschrieben — wer mit Laravel arbeitet, will früher oder später auch E-Mails mit Laravel versenden. Siehe auch meinen Artikel PHP auf Ubuntu 20.04.
PHP 8.1 ist die aktuellste Version der PHP-Sprache. Sie enthält mehrere grundlegende Änderungen, Leistungsverbesserungen und viele neue Funktionen wie benannte Argumente, JIT-Compiler, Union-Typen, Match-Ausdruck und vieles mehr. Wer noch einen Schritt weiter gehen möchte, findet hier eine Anleitung, um PHP 8.2 auf Ubuntu zu installieren.
Dieser Artikel zeigt Ihnen, wie Sie PHP 8 auf Ubuntu 20.04 installieren und mit Nginx und Apache integrieren können. Zum Zeitpunkt der Erstellung dieses Artikels enthalten die Standard-Repositories von Ubuntu 20.04 die Version PHP 7.4. Hier werde ich PHP aus dem ondrej/php PPA-Repository installieren.
Bevor Du allerdings auf PHP 8 aktualisierst oder es installierst, solltest Du sicherstellen, dass Deine Anwendungen PHP 8 unterstützen.
Unknown Expert
Welche Extensions sind derzeit installiert
Einfach die Liste aller derzeit installierten PHP packages ausgeben:
dpkg -l | grep php
Oder besser nur die package Namen und gleich in eine Datei, das benötigst Du später um dieselben packages auch für Deine neue PHP Version zu installieren.
dpkg-query -f '${Package}\n' -W | grep php | tee phppackages.txt
PHP-Repository aktivieren
Ondřej Surý (ein Debian-Entwickler) unterhält ein Repository, das mehrere PHP-Versionen enthält. Um das Repository zu aktivieren, führe folgendes aus:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php # PRESS ENTER wenn danach gefragt wird
sudo apt update
Wenn „Press [ENTER] to continue or Ctrl-c to cancel adding it.“ gefragt wird, einfach ENTER drücken.
Installiere PHP 8 für Apache
Wenn Du Apache als Webserver verwendest, kannst Du PHP als Apache-Modul installieren oder PHP-FPM ausführen. Ich installiere PHP als Apache Module.
sudo apt install -y php8.1 libapache2-mod-php8.1 php8.1-cli
Nun musst Du nur noch alle Extensions installieren. Dies geht indem Du immer php8.1 angibst. Also z.B. für die mysql und gd Extensions:
sudo apt install -y php8.1-mysql php8.1-gd
Wenn Du mehrere Extensions gleichzeitig installieren wills kanns Du auch folgendes Format verweneden:
sudo apt install -y php8.1-{bcmath,bz2,cli,common,curl,gd,imap,intl,mbstring,mysql,opcache,readline,xml,zip}
Willst Du alle Packages der alten Version installieren musst Du nun dein phppackages.txt entsprechend editieren (alle Packages ohne PHP-Version bleiben. Dort wo eine Version dabei ist einfach auf die neue Version ändern und dann folgenden Befehl ausführen:
xargs sudo apt install -y <phppackages.txt
Kommt ein Fehler wie: „E: Package 'php8.1-json' has no installation candidate“ Dann ist dieses Package meißt schon Standardmäßig installiert. Zur Sicherheit kannst Du die Fehlermeldung googlen …
Nun lösche diesen Eintrag aus der txt Datei heraus und starte den Befehl nochmals.
Nun einfach auf PHP 8 umsteigen
sudo a2dismod php7.4
sudo a2enmod php8.1
sudo systemctl restart apache2
Wenn Dein Apache läuft, lohnt es sich, ihn gleich auch abzusichern — wie Du ein Let’s Encrypt für Apache einrichtest, beschreibe ich in einem eigenen Beitrag.
PHP 8 in der Kommandozeile
Einfach folgenden Befehl eingeben:
sudo update-alternatives --set php /usr/bin/php8.1
php --version
Du kannst natürlich auch zwischen den existierenden Alternativen umschalten:
sudo update-alternatives —config php
Mehr aus „Linux, DevOps & Systeme"
Docker Speicherplatz freigeben
Docker Speicherplatz freigeben: mit docker system df die Belegung sehen und mit prune ungenutzte Images, Container, Volumes, Netzwerke und Build-Cache löschen.
WeiterlesenWindows Core Prozesse verstehen
Windows Core-Prozesse verstehen: was smss.exe, csrss.exe, lsass.exe und svchost.exe wirklich tun und woran Du getarnte Malware im Prozessbaum erkennst.
WeiterlesenUbuntu LTS Release Update
Ubuntu LTS sicher aktualisieren: Snapshot bei Contabo oder Netcup anlegen, mit apt update und do-release-upgrade hochziehen und den SSH-Port bestätigen.
WeiterlesenÜber diesen Blog
Ein Sammelsurium an Denkanstößen.
Hier sammle ich Wissen, Argumente und Links zu allem, was mich beschäftigt — von Technik über Küche bis Nachhaltigkeit. Beruflich berate ich zu Cybersecurity.