PHP-Elefant

PHP 8.3 auf Ubuntu 22.04 installieren

In den Repositories von Ubuntu 22.04 ist für PHP die Version 8.1 standardmäßig hinterlegt. Für die meisten Anwendungsfälle ist auch völlig ausreichend, es gibt aber hin und wieder die Situation, bei der man eine neuere PHP-Version (in diesem Fall PHP 8.3) benötigt. Nicht zuletzt bietet auch PHP 8.3 einige Geschwindigkeitsvorteile.

Hier erfährst Du, wie Du PHP 8.3 für einen Apache-Webserver und auch für die Shell auf einer Ubuntu-22.04-Maschine in wenigen Minuten installierst.

$ sudo apt update && sudo apt -y upgrade

Installiere nun einige benötigte Pakete:

$ sudo apt install ca-certificates apt-transport-https software-properties-common

Jetzt fügst Du das benötigte PHP-Repository von Ondrej hinzu und bestätigst:

$ sudo add-apt-repository ppa:ondrej/php

Anschließend liest Du Deine Paketquellen neu ein:

$ sudo apt update

Nun kannst Du PHP 8.3 und das entsprechende Apache-Modul installieren:

$ sudo apt -y install php8.3 libapache2-mod-php8.3

Beachte, dass Du hier noch alle weiteren für Deine Anwendungen benötigten PHP-Pakete installierst, z.B.:

$ sudo apt -y install php8.3-{apcu,bcmath,bz2,cli,curl,gd,imagick,intl,mbstring,mysql,opcache,xml,yaml,zip}

Jetzt kannst Du die installierte PHP-Version prüfen:

$ php -v

Im Normall sollte die Konsole so etwas ähnliches ausgeben:

PHP 8.3.1 (cli) (built: Dec 21 2023 20:12:13) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.1, Copyright (c), by Zend Technologies

Sollte hier immer noch die alte PHP-Version angezeigt werden, dann muss Du die neue PHP-Version für die Shell setzen:

$ sudo update-alternatives --set php /usr/bin/php8.3

Jetzt deaktivierst Du noch für Apache das PHP-8.1-Modul, aktivierst PHP 8.3 und startest den Apache schlussendlich neu:

$ sudo a2dismod php8.1
$ sudo a2enmod php8.3
$ sudo systemctl restart apache2.service

Beachte, dass Du ggf. auch in der php.ini einige Einstellungen noch vornehmen musst:

# Apache
$ sudo vi /etc/php/8.3/apache/php.ini
# Command Line
$ sudo vi /etc/php/8.3/cli/php.ini

Danach wie immer den Apache neustarten:

$ sudo systemctl restart apache2.service

Viel Erfolg! Sollte etwas unklar sein oder nicht funktionieren, hinterlasse gerne einen Kommentar.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert