====== 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