Marco Burmeister

  private Homepage



Linux - openSUSE - Upgrade/Update PHP aus Repository

In meinem openSUSE 15.4 Linux System habe ich das PHP von Version 7 auf Version 8 und später dann auf Version 8.1 aktualisiert.
Da ich PHP selten aktualisiere, habe ich diese Seite erstellt, damit ich nicht wieder nachschauen muss, wie der Ablauf dafür ist.

Die Seite ist in die folgenden Bereiche eingeteilt:




Hinweis:
Für die Richtigkeit der Daten übernehme ich keine Gewähr!

top Voraussetzungen

Um das Upgrade/Update auszuführen, wie es hier beschrieben ist, werden die folgenden Repositories benötigt, die eingebunden und aktiviert sein müssen:

top Repository für Software abfragen

Wie bekomme ich heraus, in welchem Repository ein Software-Paket zu finden ist ?
Wenn bereits das Repository eingebunden ist, dass kann der folgende Befehl als Nutzer root genutzt werden, um zu einem Software-Produkt herauszufinden, aus welchem Repository es installiert werden kann:
Syntax:

 zypper --no-refresh info <software>

Beispiel:
 zypper --no-refresh info php81


Beispiel-Ausgabe:
Information for package php81:
------------------------------
Repository     : Update repository of openSUSE Backports
Name           : php81
Version        : 8.1.24-bp155.2.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 183.0 KiB
Installed      : Yes
Status         : up-to-date
Source package : php81-8.1.24-bp155.2.1.src
Upstream URL   : https://secure.php.net
Summary        : Interpreter for the PHP scripting language version 8
Description    :
    PHP is a server-side HTML embedded scripting language designed
    primarily for web development but also used as a general-purpose
    programming language.

    This package contains the base files for all subpackages and
    must be installed in order to use PHP. Additionally, extension
    modules and server modules (e.g. for Apache) may be installed.

top Bekannte PHP Versionen in eingebundene Repositories abfragen

Um herauszufinden, welche PHP-Versionen in den eingebundenen Repositories vorhanden sind, kann der folgende Befehl verwendet werden, wenn nicht der Weg via YaST genutzt wird. Der Befehl kann als normaler Linux User ausgeführt werden. Ich empfehle aber, ihn als User root auszuführen.
Befehl:
zypper search php |grep Interpreter

Beispiel-Ausgabe:
+  | php7                        | Interpreter for the PHP scripting language version 7                  | package
   | php7                        | Interpreter for the PHP scripting language version 7                  | srcpackage
i  | php7-cli                    | Interpreter for the PHP scripting language version 7                  | package
   | php7-test                   | Interpreter for the PHP scripting language version 7                  | package
   | php7-test                   | Interpreter for the PHP scripting language version 7                  | srcpackage
   | php8                        | Interpreter for the PHP scripting language version 8                  | package
   | php8                        | Interpreter for the PHP scripting language version 8                  | srcpackage
   | php8-cli                    | Interpreter for the PHP scripting language version 8                  | package
   | php8-test                   | Interpreter for the PHP scripting language version 8                  | package
   | php8-test                   | Interpreter for the PHP scripting language version 8                  | srcpackage
   | php81                       | Interpreter for the PHP scripting language version 8                  | package
   | php81                       | Interpreter for the PHP scripting language version 8                  | srcpackage
   | php81-cli                   | Interpreter for the PHP scripting language version 8                  | package
   | php81-test                  | Interpreter for the PHP scripting language version 8                  | package
   | php81-test                  | Interpreter for the PHP scripting language version 8                  | srcpackage

top PHP aktualisieren

Einführung

PHP kann bei openSUSE relativ leicht auf eine neue Version gehoben werden.
Das Beispiel hier basiert auf openSUSE Leap 15.4.
Es gibt abhängig davon, ob Apache2 genutzt wird oder nicht, 1 oder 2 Steps, die ausgeführt werden müssen.

PHP Upgrade / Update

Hier müssen wir wissen, wie die Version in den Repositories benannt ist. Hierfür gerne den o.a. Befehl zypper search php |grep Interpreter ausführen.
Nun führen wir das Update mit dem folgenden Befehl aus. Dieser Befehl bewirkt, dass die alte Version entfernt und die neue Version von PHP mit ausgewählten Zusatzpaketen installiert wird.

Syntax:
zypper in <php<version>>
Beispiel:
zypper in php81

Apache PHP Modul

Wird Apache mit dem PHP Modul genutzt, so entfernt der Update/Upgrade Befehl für das Basis PHP auch das alte Modul für Apache2. Leider wird nicht automatisch die richtige Version installiert.
Deshalb muss im Anschluss dann via YaST oder dem folgenden Befehl das PHP Modul installiert werden:
Syntax:
zypper in apache2-mod_php<version>
Beispiel:
zypper in apache2-mod_php81

Hinweis:
Für die Richtigkeit der Daten übernehme ich keine Gewähr!