{"id":6453,"date":"2024-01-10T20:15:18","date_gmt":"2024-01-10T19:15:18","guid":{"rendered":"https:\/\/speefak.spdns.de\/oss_lifestyle\/?p=6453"},"modified":"2024-06-02T10:20:42","modified_gmt":"2024-06-02T08:20:42","slug":"php-8-x-unter-debian-11-installieren","status":"publish","type":"post","link":"https:\/\/speefak.spdns.de\/oss_lifestyle\/php-8-x-unter-debian-11-installieren\/","title":{"rendered":"PHP 8.X unter Debian 11 installieren"},"content":{"rendered":"<p>Im Laufe der Zeit kann es vorkommen, dass manche Dienste oder Webseiten\/Plugins auf \u00e4lteren PHP Versionen nicht mehr korrekt funktionieren und eine aktuelle PHP Version ben\u00f6tigen. In den Paketquellen der genutzten Distribution ist eine aktuelle PHP Version oft leider nicht zu finden. In diesem Fall kann eine aktuelle PHP Version direkt aus dem PHP Repository installiert werden. Welche PHP Version aktuell installiert ist, wird mit dem Befehl<strong> php -v<\/strong> angezeigt<\/p>\n<hr \/>\n<h2>1.0 Aktuelle Konfiguration sichern<\/h2>\n<p>Als Erstes empfiehlt es sich die aktuelle PHP Konfiguration zu sichern:<\/p>\n<pre class=\"lang:default decode:true\">PHP_BckDir=\"$HOME\/PHP_bck_$(date +%F-%H%M%S)\"\r\nmkdir $PHP_BckDir\r\nsudo cp -r \/etc\/php* $PHP_BckDir\r\nsudo apt list --installed | grep php- | cut -d \"\/\" -f1 &gt; $PHP_BckDir\/PHP_packages_installed.lst\r\nsudo apachectl -M &gt; $PHP_BckDir\/apache_modules\r\n<\/pre>\n<hr \/>\n<h2>2.0 PHP Repository einrichten<\/h2>\n<p style=\"padding-left: 40px;\"><span style=\"text-decoration: underline;\">2.1 Im Falle einer Neuinstallation sollten vor der PHP Installation folgende Pakete installiert werden :<\/span><\/p>\n<pre class=\"lang:default decode:true\" style=\"padding-left: 40px;\">sudo apt install ca-certificates apt-transport-https software-properties-common curl lsb-release -y<\/pre>\n<p style=\"padding-left: 40px;\">2.2.1 PHP Repository im System registrieren und einrichten (<a href=\"https:\/\/stackoverflow.com\/questions\/71585030\/how-to-add-php-repositories-to-debian-kali-linux-for-php-files\">Skript<\/a>) :<\/p>\n<pre class=\"lang:default decode:true\" style=\"padding-left: 40px;\"> curl -sSL https:\/\/packages.sury.org\/php\/README.txt | sudo bash -x<\/pre>\n<p style=\"padding-left: 40px;\">2.2.2 PHP Repository im System registrieren und einrichten (Manuell) :<\/p>\n<pre class=\"lang:default decode:true\">sudo wget https:\/\/packages.sury.org\/php\/apt.gpg -O \/etc\/apt\/trusted.gpg.d\/php-sury.gpg\r\necho \"deb https:\/\/packages.sury.org\/php\/ $(lsb_release -sc) main\" | sudo tee \/etc\/apt\/sources.list.d\/php-sury.list\r\nsudo apt update<\/pre>\n<hr \/>\n<h2>3.0 Aktuellste PHP Version installieren<\/h2>\n<p>Nachdem das PHP Repository eingerichtet wurde, werden die aktuellen PHP Pakete \u00fcber ein einfaches Upgrade installiert<\/p>\n<pre class=\"lang:default decode:true\">sudo apt update\r\nsudo apt upgrade<\/pre>\n<p>Mit den o.g. Befehlen wird allerdings die aktuellste PHP Version. Das wiederum kann ebenfalls zu Problemen f\u00fchren, wenn Webseiten oder PHP Anwendungen noch nicht f\u00fcr die neuste PHP Version freigegeben wurden. So funktioniert beispielsweise die aktuelle Nextcloud Version 25.0.05 nicht mit der aktuellen PHP Version 8.2.<\/p>\n<p><span style=\"text-decoration: underline;\">3.1 Bestimmte PHP Version installieren<\/span><\/p>\n<p>Wird wie in o.g. Fall eine andere PHP Version ben\u00f6tigt, muss diese manuell installiert und eingerichtet werden. Eine Liste der verf\u00fcgbaren PHP Versionen kann wie folgt aufgerufen werden:<\/p>\n<pre class=\"lang:default decode:true\">apt update\r\napt search php | grep ^php[[:digit:]].[[:digit:]]\/ | cut -d \"\/\" -f1<\/pre>\n<p>Aktuell sind die PHP Versionen 5.6 \/ 7.0 \/ 7.1 \/ 7.2 \/ 7.3 \/ 7.4 \/ 8.0 \/ 8.1 \/ 8.2 verf\u00fcgbar. PHP 8.2 wird,\u00a0 wie bereits beschrieben, noch nicht von allen PHP Anwendungen unterst\u00fctzt, w\u00e4hrend PHP 5.6 &#8211; 7.3 kaum noch genutzt wird. Eine PHP 5.6 Installation, falls diese ben\u00f6tigt wird, ist ebenfalls m\u00f6glich. Es k\u00f6nnen auch alle PHP Versionen parallel installiert werden. Eine Aktualisierung von PHP 8.1 auf 7.4\u00a0 incl. der installierten und aktiven Module funktioniert wie folgt:<\/p>\n<pre class=\"lang:default decode:true\">PHPVersionOld=7.4\r\nPHPVersionNew=8.1\r\nPHPObsoletPakages=\"php8.1-json\"\r\napt install -y $(cat PHP_packages_installed.lst | grep php[[:digit:]].[[:digit:]] | sed 's\/'$PHPVersionOld'\/'$PHPVersionNew'\/' | egrep -v $(echo $PHPObsoletPakages | sed 's\/ \/\\|\\\/\/g'))\r\n<\/pre>\n<hr \/>\n<h2>4.0 PHP Konfiguration<\/h2>\n<p>F\u00fcr jede Webseite\/Anwendung kann eine bestimmte PHP Version mit entsprechender Konfiguration genutzt werden. Ist beispielsweise die PHP Version 8.2 installiert, es wird aber f\u00fcr eine Webseite\/Anwendung PHP Version 8.1 ben\u00f6tigt, kann entweder die Webseite\/Anwendung explizit f\u00fcr die Nutzung von PHP 8.1 konfiguriert werden oder alternativ kann die Servervorgabe von 8.2 auf 8.1 ge\u00e4ndert werden.<\/p>\n<p><span style=\"text-decoration: underline;\">4.1 Systemvorgabe umstellen:<\/span><\/p>\n<pre class=\"lang:default decode:true\">update-alternatives --config php\r\nupdate-alternatives --config php-cgi\r\n<\/pre>\n<p><span style=\"text-decoration: underline;\">4.2 Servervorgabe umstellen:<\/span><\/p>\n<pre class=\"lang:default decode:true \">sudo a2dismod php7.4\r\n\r\nservice php8.1-fpm restart \r\nservice apache2 restart<\/pre>\n<hr \/>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-2821 alignleft\" src=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-content\/uploads\/2014\/08\/CC_BY_NC_SA.png\" alt=\"CC_BY_NC_SA\" width=\"65\" height=\"23\" \/><span style=\"font-size: 10pt;\">by Speefak |<span style=\"font-size: 8pt;\"> <a href=\"https:\/\/www.sebae.net\/blog\/how-to-install-lets-encrypt-on-debian-11\/\" target=\"_blank\" rel=\"noopener\">www.sebae.net<\/a><\/span> | <span style=\"font-size: 8pt;\"><a href=\"https:\/\/www.karl-deutsch.at\/linux_apache2_ssl_https_letsencrypt_zertifikat.html\" target=\"_blank\" rel=\"noopener noreferrer\">www.karl-deutsch.at<\/a> | <a href=\"https:\/\/kofler.info\/lets-encrypt-zertifikate-fuer-web-und-mail-unter-ubuntu-16-04\/\" target=\"_blank\" rel=\"noopener noreferrer\">kofler.info<\/a> | <a href=\"https:\/\/legacy.thomas-leister.de\/anleitung-fuer-lets-encrypt-kostenlose-tls-zertifikate-fuer-alle\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/legacy.thomas-leister.de<\/a> | <\/span><\/span><a href=\"https:\/\/www.mva.ch\/support\/webhosting-vps\/losungen\/lets-encrypt-fehler-beim-ssl-signieren-der-website\/\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"font-size: 8pt;\">www.mva.ch<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im Laufe der Zeit kann es vorkommen, dass manche Dienste oder Webseiten\/Plugins auf \u00e4lteren PHP Versionen nicht mehr korrekt funktionieren und eine aktuelle PHP Version ben\u00f6tigen. In den Paketquellen der genutzten Distribution ist eine aktuelle PHP Version oft leider nicht zu finden. In diesem Fall kann eine aktuelle PHP Version direkt aus dem PHP Repository [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,26,52,40],"tags":[55,60,65,66],"class_list":["post-6453","post","type-post","status-publish","format-standard","hentry","category-anleitungen","category-linux","category-php-scripte","category-server","tag-apache","tag-php","tag-verschiedene-php-versionen","tag-webserver"],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"speefak","author_link":"https:\/\/speefak.spdns.de\/oss_lifestyle\/author\/speefak_oss\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/anleitungen\/\" rel=\"category tag\">Anleitungen<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/linux\/\" rel=\"category tag\">Linux<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/php-scripte\/\" rel=\"category tag\">PHP<\/a> <a href=\"https:\/\/speefak.spdns.de\/oss_lifestyle\/category\/server\/\" rel=\"category tag\">Server<\/a>","rttpg_excerpt":"Im Laufe der Zeit kann es vorkommen, dass manche Dienste oder Webseiten\/Plugins auf \u00e4lteren PHP Versionen nicht mehr korrekt funktionieren und eine aktuelle PHP Version ben\u00f6tigen. In den Paketquellen der genutzten Distribution ist eine aktuelle PHP Version oft leider nicht zu finden. In diesem Fall kann eine aktuelle PHP Version direkt aus dem PHP Repository&hellip;","_links":{"self":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts\/6453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/comments?post=6453"}],"version-history":[{"count":0,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/posts\/6453\/revisions"}],"wp:attachment":[{"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/media?parent=6453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/categories?post=6453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/speefak.spdns.de\/oss_lifestyle\/wp-json\/wp\/v2\/tags?post=6453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}