PHP auf dem RaspberryPi Aktualisieren

Inhalte

Jeder Administrator eines Webservers kommt nicht daran vorbei. Ein PHP Update muss mal wieder her. PHP veröffentlicht regelmäßig neue PHP Versionen um z.b. offene Sicherheitslücken zu fixen. Auch wird PHP immer schneller und enue funktionen kommen herbei. Ein Update auf eine neue PHP Version lohnt sich fast immer. In der Regel sollte es für ein Administrator nicht so schwer sein, PHP auf einen linux basiertem System zu aktualisieren. Hier nochmals kurz eine Anleitung.

Voraussetzungen

    Raspberry PI 3 B+ mit dem Betriebsystem Raspbian Stretch

Installationsschritte

Schritt 1: Update Paketinformationen

Standardmäßig wird bei Debian 9 (Stretch) die PHP Version 7.0 mitgeliefert. Wer jedoch auf eine höhrere Version upgraden möchte, der sollte entweder PHP von der offiziellen Webseite (https://www.php.net/downloads.php) downloaden und eigenständig auf dem RasberryPi deployen (make && make install) oder man benutzt die Pakekverwaltung APT. Hierzu würde ich gerade Anfängern raten, da die Paketverwaltung vieles bei der Installation eigenständig/selbstständig übernimmt. Um PHP 7.1 oder eine spätere Version zu bekommen, müssen wir erst einmal in der Sources.list (Für die Paketverwaltung APT die Quellliste für Updates) angeben, woher APT, PHP nehmen soll. PHP 7.1 ist in der nächsten Debian Distribution Buster enthalten und kann somit von der Buster Quelle entnommen werden. Und so geht’s:

Editiere die /etc/apt/sources.list mit einem beliebigen Editor. In unserem Fall verwenden wir nano.

sudo nano /etc/apt/sources.list

Jetzt ändere die Update URL von Stretch zu Buster. Die Datei sollte nun so aussehen:

deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi

Die Datei speichern und Schließen wir mit STR+X und J oder Y als Bestätigung.

Schritt 2: System updaten

Um der Paketverwaltung mitzuteilen, dass neue Pakete zu Verfügung stehen, sollten wir die Sources.list neu einlesen. Dies geschiet mit einem einfachen apt-get update. Danach führen wir ein Update für die bereits installierten Pakete durch. -> apt-get upgrade Natürlich kann man diese zwei Befehle zu einem einzelnen Befehl zusammenführen.

sudo apt-get update && sudo apt-get upgrade -y

Das -y am ende der Zeile verhindert das lästige Fragen, ob man auch wirklich sicher ist, ob man das Paket wirklich installieren möchte.

Schritt 3: Vorherige PHP version entfernen

Sollte noch eine andere PHP Version auf dem RaspberryPi befinden, müssen wir sie erst einmal entfernen. Dies werden wir mit der Paketverwaltung erledigen.

Wichtig! Bevor wir PHP komplett deinstallieren, sollten wir ersteinmal herausfinden, welche PHP Module mit der alten Version installiert worden sind.

dpkg -l |grep php

Das Ergebnis sollte nun als Liste ausgegeben werden. Die aufgelisteten PHP Module sollten wir nun uns merken, um später dann bei der Installation, die richtigen Pakete wieder installieren zu können.

Der folgende Befehle deinstalliert nun alle PHP Module:

sudo apt-get remove '^php.*'

Schritt 4: PHP 7.1 Installieren

Nachdem wir die alte Version deinstalliert haben, können wir nun mithilfe der Paketverwaltung die neue PHP Version installieren. Wichtig ist nun, die zuvor gemerkten PHP Module auch wieder zur Installation anzugeben. Hier mein Beispiel:

sudo apt-get install php7.1-cli php7.1-common php7.1-curl php7.1-gd php7.1-json php7.1-mbstring php7.1-mysql php7.1-opcache php7.1-readline php7.1-xml

Ist während der Installation nichts schief gelaufen, sollten wir den Apache Dienst neu starten:

/etc/init.d/apache2 restart
oder
service apache2 restart

Mit php --version oder php -v sollten wir nun überprüfen, ob PHP die richtige Versionsnummer ausgibt.

Ausgabe:

PHP 7.3.9-1~deb10u1 (cli) (built: Sep 18 2019 10:33:23) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.9-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

Viel Erfolg

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 4.1 / 5. Anzahl Bewertungen: 13

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

9 Kommentare

  1. Pingback:IonCube PHP Loader mit PHP 7.1 installieren – Profoxi

  2. Vielen Dank =)

  3. Kleiner Hinweis:
    Bei deinem Befehl „sudo nano /etc/apt/sources.lis“ fehlt am Ende das „t“ 🙂

  4. Sehr fein. Danke! 🙂

  5. Nachtrag: Geht auch mit PHP 7.4. Man muss nur die entsprechenden Module in dem Shell-Befehl anpassen. 😉

  6. Hi Triopsi
    würde gerne dein Profiwissen anzapfen 🙂
    Betreibe einen Webserver auf einem Raspberry und möchte ungerne durch mein Rookie Fehlverhalten den ganzen Server abschiessen. Dennoch möchte ich auf PHP 7.4 updaten.
    Meine aktuelle Situation habe ich durch den Befehl dpkg -l |grep php nachstehend kopiert.
    Wäre es dir möglich mir den richtigen Befehl für den Update in meiner Installation zu geben?
    Zu 1000 Dank verpflichtet grüsst dich MAME

    ii libapache2-mod-php7.0 7.0.33-0+deb9u7 armh f server-side, HTML-embedded scripting language (Apache 2 module)
    ii libapache2-mod-php7.3 7.3.31-1~deb10u1 armh f server-side, HTML-embedded scripting language (Apache 2 module)
    ii php 2:7.3+69 all server-side, HTML-embedded scripting language (default)
    ii php-bz2 2:7.3+69 all bzip2 module for PHP [default]
    ii php-common 2:69 all Common files for PHP packages
    ii php-curl 2:7.3+69 all CURL module for PHP [default]
    ii php-gd 2:7.3+69 all GD module for PHP [default]
    ii php-mbstring 2:7.3+69 all MBSTRING module for PHP [default]
    ii php-mysql 2:7.3+69 all MySQL module for PHP [default]
    ii php-pear 1:1.10.6+submodules+notgz-1.1+deb10u2 all PEAR Base System
    ii php-php-gettext 1.0.12-0.1 all read gettext MO files directly, without requiring anything other than P HP
    ii php-phpseclib 2.0.14-1 all implementations of an arbitrary-precision integer arithmetic library
    ii php-tcpdf 6.2.26+dfsg-1 all PHP class for generating PDF files on-the-fly
    ii php-xml 2:7.3+69 all DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
    ii php-zip 2:7.3+69 all Zip module for PHP [default]
    ii php7.0 7.0.33-0+deb9u7 all server-side, HTML-embedded scripting language (metapackage)
    ii php7.0-bz2 7.0.33-0+deb9u7 armh f bzip2 module for PHP
    ii php7.0-cli 7.0.33-0+deb9u7 armh f command-line interpreter for the PHP scripting language
    ii php7.0-common 7.0.33-0+deb9u7 armh f documentation, examples and common module for PHP
    rc php7.0-curl 7.0.33-0+deb9u7 armh f CURL module for PHP
    ii php7.0-gd 7.0.33-0+deb9u7 armh f GD module for PHP
    ii php7.0-json 7.0.33-0+deb9u7 armh f JSON module for PHP
    ii php7.0-mbstring 7.0.33-0+deb9u7 armh f MBSTRING module for PHP
    ii php7.0-mysql 7.0.33-0+deb9u7 armh f MySQL module for PHP
    ii php7.0-opcache 7.0.33-0+deb9u7 armh f Zend OpCache module for PHP
    ii php7.0-readline 7.0.33-0+deb9u7 armh f readline module for PHP
    ii php7.0-xml 7.0.33-0+deb9u7 armh f DOM, SimpleXML, WDDX, XML, and XSL module for PHP
    ii php7.0-zip 7.0.33-0+deb9u7 armh f Zip module for PHP
    ii php7.1-common 7.1.20-1+b2 armh f documentation, examples and common module for PHP
    ii php7.1-mcrypt 7.1.20-1+b2 armh f libmcrypt module for PHP
    ii php7.3 7.3.31-1~deb10u1 all server-side, HTML-embedded scripting language (metapackage)
    ii php7.3-bz2 7.3.31-1~deb10u1 armh f bzip2 module for PHP
    ii php7.3-cli 7.3.31-1~deb10u1 armh f command-line interpreter for the PHP scripting language
    ii php7.3-common 7.3.31-1~deb10u1 armh f documentation, examples and common module for PHP
    ii php7.3-curl 7.3.31-1~deb10u1 armh f CURL module for PHP
    ii php7.3-gd 7.3.31-1~deb10u1 armh f GD module for PHP
    ii php7.3-json 7.3.31-1~deb10u1 armh f JSON module for PHP
    ii php7.3-mbstring 7.3.31-1~deb10u1 armh f MBSTRING module for PHP
    ii php7.3-mysql 7.3.31-1~deb10u1 armh f MySQL module for PHP
    ii php7.3-opcache 7.3.31-1~deb10u1 armh f Zend OpCache module for PHP
    ii php7.3-readline 7.3.31-1~deb10u1 armh f readline module for PHP
    ii php7.3-xml 7.3.31-1~deb10u1 armh f DOM, SimpleXML, WDDX, XML, and XSL module for PHP
    ii php7.3-zip 7.3.31-1~deb10u1 armh f Zip module for PHP
    ii phpmyadmin 4:4.6.6-5 all MySQL web administration tool

Schreibe einen Kommentar

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