Upgrade auf PHP7.2

4
9813
alekseynemiro / Pixabay

Da PHP7.0 nun mittlerweile nicht weiter unterstützt wird, war es an der Zeit meinen vServer mit Debian Stretch auf eine neuere PHP-Version anzuheben. Ich habe mich hierbei für PHP7.2 entschieden.

Vorbereitung

Um zu sehen welche PHP-Pakete installiert sind, führt man folgenden Befehl aus:

# dpkg --get-selections | grep php7

In meinem Fall sah die Ausgabe so aus:

libapache2-mod-php7.0 install
php7.0 install
php7.0-bz2 install
php7.0-cgi install
php7.0-cli install
php7.0-common install
php7.0-curl install
php7.0-gd install
php7.0-json install
php7.0-mbstring install
php7.0-mcrypt install
php7.0-mysql install
php7.0-opcache install
php7.0-readline install
php7.0-sqlite3 install
php7.0-xml install
php7.0-zip install

Installation

Zuerst lädt man den Key zur Paket-Quelle herunter.

# wget -q -O- https://packages.sury.org/php/apt.gpg | apt-key add -

Nun wird diese in die sources.list eingetragen.

# echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list

Im Anschluss führt man ein Upgrade durch.

# apt update && apt ugrade

Jetzt werden alle zuvor identifizierten Pakete in der Version 7.2 installiert.

# apt install php7.2 php7.2-cli php7.2-cgi php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml libapache2-mod-php7.2

Man deaktitiert nun PHP7.0

# a2dismod php7.0

und aktiviert die neue Version PHP7.2

# a2enmod php7.2

Abschließend wird der Webserver neu gestartet und das System aufgeräumt.

# systemctl restart apache2
# apt autoremove
# apt clean

Info

Ein Paket php7.2-mcrypt wird nicht zur Verfügung gestellt, aber auch meinerseits nicht wirklich benötigt.

Ganz nebenbei verschwinden mit der neuen PHP-Version nun auch die lästigen Hinweise von Joomla! und der neuen stabilen Version 15.0.0 der Nextcloud zum Ende der Unterstützung von PHP7.0.

Nachtrag

Wenn man das Paket mcrypt nachinstallieren möchte, so geht das über die PHP Extension Community Library PECL. Folgende Pakete sind dazu noch erforderlich:

# apt install gcc make autoconf libc-dev pkg-config
# apt install php7.2-dev
# apt install libmcrypt-dev

Dann wird mcrypt aus PECL nachinstalliert.

# pecl install mcrypt-1.0.1

Um mcrypt zu aktivieren, wird die Zeile

extension=mcrypt.so

in die php.ini eingetragen und der Webserver mit

# systemctl restart apache2

neu gestartet. Ob das Paket arbeitet, sieht man z.B. über die phpinfo.php (falls vorhanden).

phpinfo
PHP Info

4 Kommentare

  1. Ein Paket php7.2-mcrypt wird nicht zur Verfügung gestellt

    Man kann ja von einem Linuxer auch nicht erwarten, dass er sich vor einem Update mal über die Neuerungen informiert. Ihr mögt halt Überraschungen.

    Pfosten, meist.

Kommentieren Sie den Artikel

Bitte bestätige diesen Kommentar!
Bitte den Namen hier eingeben

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.