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:
1 |
# dpkg --get-selections | grep php7 |
In meinem Fall sah die Ausgabe so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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.
1 |
# wget -q -O- https://packages.sury.org/php/apt.gpg | apt-key add - |
Nun wird diese in die sources.list eingetragen.
1 |
# 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.
1 |
# apt update && apt ugrade |
Jetzt werden alle zuvor identifizierten Pakete in der Version 7.2 installiert.
1 |
# 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
1 |
# a2dismod php7.0 |
und aktiviert die neue Version PHP7.2
1 |
# a2enmod php7.2 |
Abschließend wird der Webserver neu gestartet und das System aufgeräumt.
1 |
# systemctl restart apache2 |
1 |
# apt autoremove |
1 |
# 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:
1 |
# apt install gcc make autoconf libc-dev pkg-config |
1 |
# apt install php7.2-dev |
1 |
# apt install libmcrypt-dev |
Dann wird mcrypt aus PECL nachinstalliert.
1 |
# pecl install mcrypt-1.0.1 |
Um mcrypt zu aktivieren, wird die Zeile
1 |
extension=mcrypt.so |
in die php.ini eingetragen und der Webserver mit
1 |
# systemctl restart apache2 |
neu gestartet. Ob das Paket arbeitet, sieht man z.B. über die phpinfo.php (falls vorhanden).
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.
Wer sagt denn, dass man sich nicht vorher informiert hätte?
Dein Artikel. Sonst hättest du jetzt PHP 7.2 mit mcrypt. 🙂
Reine Mutmaßung. 😀