PHP 8.2 installieren

Nachdem wir nun den Apache-Webserver zum laufen gebracht haben, folgt noch die Installation von PHP.

System aktualisieren

Zunächst Raspberry Pi OS aktualisieren.

sudo apt update && sudo apt upgrade

Installation

PHP 8.2 mit folgenden Befehl installieren.

sudo apt install php8.2 php8.2-apcu php8.2-bcmath php8.2-bz2 php8.2-cli php8.2-common php8.2-curl php8.2-dev php8.2-ffi php8.2-fpm php8.2-gd php8.2-gmp php8.2-gnupg php8.2-imagick php8.2-imap php8.2-intl php8.2-ldap php8.2-mbstring php8.2-memcached php8.2-mysql php8.2-opcache php8.2-pdo php8.2-phar php8.2-phpdbg php8.2-readline php8.2-redis php8.2-simplexml php8.2-soap php8.2-xml php8.2-xmlrpc php8.2-xsl php8.2-zip

Nun noch die gängigsten zusätzlichen PlugIns für PHP 8.2 installieren. Diese werden von den unterschiedlichsten Web-Anwendungen benötigt.

sudo apt install libapache2-mod-fcgid libapache2-mod-php8.2 php-apcu php-apcu-bc php-bcmath php-bz2 php-common php-composer-ca-bundle php-composer-semver php-composer-spdx-licenses php-composer-xdebug-handler php-curl php-dev php-gd php-gmp php-gnupg php-google-recaptcha php-imagick php-intl php-json-schema php-mariadb-mysql-kbs php-mbstring php-mysql php-pear php-phpseclib php-psr-cache php-psr-container php-psr-log php-react-promise php-redis php-symfony-cache php-symfony-cache-contracts php-symfony-config php-symfony-console php-symfony-dependency-injection php-symfony-expression-language php-symfony-filesystem php-symfony-finder php-symfony-polyfill-php82 php-symfony-process php-symfony-service-contracts php-symfony-var-exporter php-symfony-yaml php-tcpdf php-twig php-twig-i18n-extension php-xml php-zip

PHP-FPM aktivieren

FPM (FastCGI Process Manager) für PHP hilft dabei PHP-Prozesse, vor allem unter hoher Last, schneller auszuführen.

Der FPM für PHP 8.2 wurde durch o.g. Befehle bereits installiert und muss nur noch aktiviert werden. Dies geschieht mit folgenden Befehl:

sudo a2enmod proxy_fcgi setenvif && sudo a2enconf php8.2-fpm

FPM ist ein eigener Dienst und sollte bei Änderungen an der PHP-Konfiguration neben dem Dienst für Apache durch dich immer mit neu gestartet werden. Dies ist über folgenden Befehl möglich:

sudo service php8.2-fpm restart

Anzeige

Die php.ini(s)

Mit jeder neuen PHP-Version sollten möglichst auch die Einstellungen der vorherigen PHP-Version übernommen werden.

Es gibt 3 php.ini Dateien:

  • /etc/php/8.x/apache2/php.ini ==> regulär, ohne FPM
  • /etc/php/8.x/cli/php.ini ==> für die Verwendung von PHP über die Kommandozeile, wie es beim ShellMailer der Fall ist
  • /etc/php/8.x/fpm/php.ini ==> für die Verwendung von PHP per FPM

Es ist zu empfehlen das jeweils alle Varianten der php.ini mit den gleichen Anpassungen versehen werden.

Diese Anpassungen sollten vorgenommen werden

Folgende Variablen gibt es bereits in den einzelnen php.ini-Dateien und sollten entsprechend angepasst werden, wobei die einzelnen Werte nach eigenen Ermessen und nach dem Bedarf der genutzten Anwendungen vergeben werden.

...
short_open_tag = On
...
memory_limit = 512M
...
post_max_size = 250M
...
upload_max_filesize = 250M
...

Zusätzlich sollten an das Ende der benannten php.ini-Dateien noch folgende Zeilen eingefügt werden, da diese von einigen gängigen Web-Anwendungen benötigt werden.

apc.enable_cli=1

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=20
opcache.max_accelerated_files=10000
opcache.memory_consumption=256
opcache.save_comments=1
opcache.revalidate_freq=1

Damit ist die Installation und Einrichtung der gewünschten PHP-Version abgeschlossen und es müssen lediglich Apache und der FPM neu gestartet werden.

sudo service apache2 restart && sudo service php8.2-fpm restart

Anzeige

Nachdem die Installation abgeschlossen wurde, lässt sich diese durch eine einfache PHP-Seite testen, die über die PHP-Konfiguration informiert.

Hierzu wechseln wir in das Root-Verzeichnis des Webservers:

cd /var/www/html/

Und erstellen eine Datei mit dem Namen phpinfo.php:

sudo nano "phpinfo.php"

Deren Inhalt wird der folgende sein:

<?php
   phpinfo(); 
?>

Die Datei wird per STRG + O gespeichert und per STRG + X geschlossen.

Die soeben erstelle Datei kannst du nun über einen Browser aufrufen: http://raspberrypi/phpinfo.php

Hinweise:

Es empfielt sich zudem noch die folgenden zwei Zeilen an´s Ende der Apache-Konfiguration (/etc/apache2/apache2.conf) hinzuzufügen:

AddType application/x-httpd-php .php 
AddType application/x-httpd-php-source .phps

Anschließend den Webserver einmal neu starten.

sudo service apache2 restart

Anzeige

Schreibe einen Kommentar

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

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