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.
Hallo Erik,
bekomme beim Start von: http://ip-adresse/phppgadmin diesen Fehler
printHeader(“, null, true); $rtl = (strcasecmp($lang[‚applangdir‘], ‚rtl‘) == 0); $cols = $rtl ? ‚*,‘.$conf[‚left_width‘] : $conf[‚left_width‘].‘,*‘; $mainframe = “ ?> printFooter(false); ?>
Ubuntu: 22.04 LTS Apache2 2.4.52
Hallo,
wenn ich es richtig sehe, dann unterstützt diese Software nicht PHP 8.3. Der letzte Release ist ja auch schon etwas länger her.