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