Vor kurzem ist die neue PHP Version 8.1 herausgekommen. Hier die Beschreibung wie PHP 8.1 auf einem Raspberry Pi installiert werden kann.
PHP Installieren
Als erstes müssen die entsprechenden Sourcen hinzugefügt werden. Als erstes müssen die GnuPG Keys heruntergeladen werden um die Pakete der Sourcequelle verifizieren zu können:
sudo wget -qO /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Nun das Repository hinzufügen:
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
Die Paketliste aktualisieren
sudo apt update
Nun kann PHP 8.1 sowie das Commandozeilen Interface (CLI) und weitere Extensions installiert werden. Der Platzhalter [ExtensionName] muss durch den Namen der jeweiligen Extension ersetzt werden.
sudo apt install -y php8.1-common php8.1-cli php8.1-[ExtensionName]
Beispiel mit gängigen Extensions:
sudo apt install -y php8.1-common php8.1-cli php8.1-mysql php8.1-xml php8.1-curl php8.1-zip php8.1-gd php8.1-imap
Danach kontrollieren ob die PHP Version auch aktiv ist:
php --version
Mit folgendem Befehl kann geprüft werden, welche PHP Extensions installiert sind:
php -m
PHP in Apache Integrieren
sudo apt install -y libapache2-mod-php8.1
Sollte bereits eine Version von PHP in Apache aktiviert sein, so meldet die Installation
...
Creating config file /etc/php/8.1/apache2/php.ini with new versionlibapache2-mod-php8.1: php8.0 module already enabled, not enabling PHP 8.1
In diesem Fall muss die alte PHP Version deaktiviert werden und die neue Version aktiviert:
sudo a2dismod php8.0
sudo a2enmod php8.1
In diesem Fall ist die alte Verision die PHP Version 8.0.
Nun den Apache Webserver neustarten, damit die Anpassung aktiv wird.
sudo service apache2 restart
PHP Testen
Im public Verzeichnis des Webservers z.B. /var/www/html eine neue Datei phpinfo.php mit folgendem Inhalt erstellen:
<?php
phpinfo();
Nun kann kontrolliert werden, ob die korrekte PHP Version angezeigt wird. Die Datei sollte unbedingt nach dem Testen wieder gelöscht werden, sofern die Seite öffentlich zugänglich ist.
PHP deinstallieren
Wenn PHP wieder komplett entfernt werden soll, müssen folgende Befehle ausgeführt werden:
sudo apt purge --autoremove -y php-common mime-support
GPG Keys und Repositorys entfernen
sudo rm -rf /etc/apt/trusted.gpg.d/php.gpg
sudo rm -rf /etc/apt/sources.list.d/php.list
Weitere verknüpfte Datei entfernen:
sudo rm -rf /var/lib/systemd/timers/stamp-phpsessionclean.timer
An sich ein eine sehr gute Beschreibung und es funktionierte auch fast alles… Nur dieser Befehl «sudo apt purge –autoremove -y php-common mime-support» hat nicht nur php deinstalliert sondern so ziemlich alles auf meinem Pi… Gewisse Programme sind weg, andere Programme plötzlich da, das Erscheinungsbild ist komplett anders, … Schade
Hallo,
wenn ich dieser Anleitung folge kommt es beim restart zur Kernel panic unter 2022-09-22-raspios-bullseye-armhf-lite
Ausgabe beim install ended mit:
….
apt-listchanges: Reading changelogs…
(Reading database … 45485 files and directories currently installed.)
Preparing to unpack …/libpcre2-8-0_10.40-1+0~20220713.16+debian11~1.gbpb6cec5_armhf.deb …
Unpacking libpcre2-8-0:armhf (10.40-1+0~20220713.16+debian11~1.gbpb6cec5) over (10.36-2+deb11u1) …
E: Sub-process /usr/bin/dpkg exited unexpectedly
pi@raspberrypi:~ $ sudo reboot now
Illegal instruction
pi@raspberrypi:~ $
Mit den vorhandenen Informationen kann ich nicht beurteilen wo der Fehler für die Kernel Panic liegt. Aus meiner eigenen Erfahrung kenne ich das Problem bei der Installation von PHP nicht. Gibt es Logdateien mit weiteren Informationen?