Benutzer-Werkzeuge

Webseiten-Werkzeuge


open:it:php

PHP

Für Ubuntu siehe https://php.watch/articles/install-php82-ubuntu-debian

Der Apache-Server kann parallel mit unterschiedlichen PHP-Versionen betrieben und eine Version davon einer Domain explizit zugewiesen werden.
Quelle: https://www.codinghood.de/blog/2021/05/php-7-4-und-php-8-0-zeitgleich-auf-einem-debian-10-mit-apache-und-php-fpm-installieren/

Benötigte Pakete wie curl installieren

sudo apt -y install apt-transport-https lsb-release ca-certificates curl

Mit dem sury PHP Repository kommunizieren > Schlüssel herunterladen und installieren

sudo curl -sSL -o /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

sury PHP Repository zur Source-List hinzufügen

sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

Paketlisten neu einlesen und aktualisieren.

sudo apt update

PHP-Versionen installieren (je nach Bedarf)

sudo apt install php7.4 php7.4-bcmath php7.4-cli php7.4-common php7.4-curl php7.4-dev php7.4-fpm php7.4-gd php7.4-imap php7.4-intl php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-soap php7.4-sqlite3 php7.4-tidy php7.4-xsl php7.4-zip
sudo apt install php8.0 php8.0-bcmath php8.0-cli php8.0-common php8.0-curl php8.0-dev php8.0-fpm php8.0-gd php8.0-imap php8.0-intl php8.0-mbstring php8.0-mysql php8.0-opcache php8.0-readline php8.0-soap php8.0-sqlite3 php8.0-tidy php8.0-xml php8.0-xsl php8.0-zip
sudo apt install php8.2 php8.2-bcmath php8.2-cli php8.2-common php8.2-curl php8.2-dev php8.2-fpm php8.2-gd php8.2-imap php8.2-intl php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-soap php8.2-sqlite3 php8.2-tidy php8.2-xml php8.2-xsl php8.2-zip

Check Installiert - sollte bei allen Versionen klappen

sudo systemctl status php7.4-fpm.service

Apache-Module zum Umgang mit den PHP-FPM Installationen

sudo apt install libapache2-mod-fcgid php-fpm
sudo a2enmod actions alias fcgid proxy_fcgi 

Version auswählen (Server intern)

sudo update-alternatives --config php

Auswahl Basisversion (Server intern)

sudo update-alternatives --config php-fpm.sock

Standartversion Apache festlegen → hier nur eine Version, die anderen, sofern aktiviert, mit a2disconf abschalten

sudo a2enconf php8.2-fpm.conf
sudo systemctl reload apache2

Nur wenn eine Domain/Subdomain eine andere, als die PHP-Standard-Version, benötigt, die entsprechende Apache-Conf-Datei konfigurieren und Zeile einfügen.

sudo nano /etc/apache2/sites-available/xxx.conf

Zum Beispiel:

Include /etc/apache2/conf-available/php8.0-fpm.conf
sudo systemctl reload apache2

Check PHP-Version auf Webseite

sudo nano /var/www/sites/.../phpinfo.php
  <?php 
    phpinfo();
  ?>
open/it/php.txt · Zuletzt geändert: 2024/10/12 14:35 von Kai