{"id":510,"date":"2026-03-13T22:40:18","date_gmt":"2026-03-13T21:40:18","guid":{"rendered":"https:\/\/jet0jlh.de\/?p=510"},"modified":"2026-03-13T22:47:37","modified_gmt":"2026-03-13T21:47:37","slug":"php-update-auf-dem-raspberry-pi","status":"publish","type":"post","link":"https:\/\/jet0jlh.de\/?p=510","title":{"rendered":"PHP Update auf dem Raspberry Pi"},"content":{"rendered":"\n<p>Hin und wieder ist es n\u00f6tig die PHP Version auf den aktuellsten Stand zu bringen, damit die Nextcloud weiterhin fr\u00f6hlich ihre Dienste verrichten kann. Damit wir aktuelle PHP Versionen installieren k\u00f6nnen, haben wir im Zuge der Tutorial Serie die PHP Paketquellen des Entwicklers eingeh\u00e4ngt. Nur kann es hier passieren, dass das dazugeh\u00f6rige Zertifikat der Paketquellen irgendwann erneuert werden muss. Wenn daher beim <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">apt update<\/code> Befehl Fehlermeldungen mit dem Text &#8222;Invalid Key&#8220; wird es h\u00f6chste Zeit.<\/p>\n\n\n\n<p>Zur Vollst\u00e4ndigkeit hier nochmal den Befehl um die PHP Paketquellen hinzuzuf\u00fcgen, falls noch nicht geschehen. (F\u00e4llt sp\u00e4testens auf, wenn keine neueren PHP Versionen gefunden werden \ud83d\ude05)<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \"deb https:\/\/packages.sury.org\/php\/ $(lsb_release -sc) main\" > \/etc\/apt\/sources.list.d\/php.list<\/pre>\n\n\n\n<p>Um diese Paketquelle nun als &#8222;Seri\u00f6s&#8220; zu kennzeichnen, brauchen wir nun auch noch den Schl\u00fcssel des Servers, den wir bei uns als vertrauensw\u00fcrdig hinterlegen. Dazu laden wir ein passendes Paket herunter und installieren dieses im Anschluss.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl -sSLo \/tmp\/debsuryorg-archive-keyring.deb https:\/\/packages.sury.org\/debsuryorg-archive-keyring.deb\ndpkg -i \/tmp\/debsuryorg-archive-keyring.deb<\/pre>\n\n\n\n<p>Danach kann es auch schon mit der Installation der neueren PHP Version losgehen. Hier in diesem Beispiel werden wir von Version 8.2 auf die 8.5 Updaten. (Vorsicht, immer erst einmal pr\u00fcfen ob die Nextcloud Version \u00fcberhaupt mit der gew\u00fcnschten PHP Version kompatibel ist: <a href=\"https:\/\/github.com\/nextcloud\/server\/wiki\/Releases-and-PHP-versions\">https:\/\/github.com\/nextcloud\/server\/wiki\/Releases-and-PHP-versions<\/a>)<\/p>\n\n\n\n<p>Hierzu lassen wir uns mit nachfolgendem Befehl alle Pakete\/Module auflisten, die wir in der Version 8.2 installiert haben, damit wir diese in der neueren Version installieren k\u00f6nnen.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apt list --installed | grep php8.2<\/pre>\n\n\n\n<p>Danach einfach die gleichen Pakete wieder mit <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\">apt install<\/code> installieren. Damit man die Namen gleich einfacher kopieren kann, hab ich folgenden Befehl:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apt list --installed | grep php8.2 | sed 's\/\\\/.*$\/\/' | sed 's\/8.2\/8.5\/g'<\/pre>\n\n\n\n<p>Danach kopieren wir noch die zwei Konfigurationsdateien aus der alten PHP Version in die Neue.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cp \/etc\/php\/8.2\/apache2\/php.ini \/etc\/php\/8.5\/apache2\/\ncp \/etc\/php\/8.2\/cli\/php.ini \/etc\/php\/8.5\/cli\/<\/pre>\n\n\n\n<p>Nun gehts nur noch darum die neue PHP Version zu aktivieren und die Alte zu deaktivieren.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">a2dismod php8.2\na2enmod php8.5\nsystemctl restart apache2<\/pre>\n\n\n\n<p>Zum Schluss setzen wir noch mit dem Nachfolgenden Befehl, welche PHP Version auch auf der CLI verwendet werden soll, damit auch Nextcloud cron wieder richtig l\u00e4uft.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#Mit dem Befehl pr\u00fcfen welche Version genutzt wird\nphp -version\n\n#Mit diesem Befehl die PHP Version ausw\u00e4hlen\nupdate-alternatives --config php<\/pre>\n\n\n\n<p>Damit sollte die Umstellung abgeschlossen sein.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hin und wieder ist es n\u00f6tig die PHP Version auf den aktuellsten Stand zu bringen, damit die Nextcloud weiterhin fr\u00f6hlich ihre Dienste verrichten kann. Damit wir aktuelle PHP Versionen installieren k\u00f6nnen, haben wir im Zuge der Tutorial Serie die PHP Paketquellen des Entwicklers eingeh\u00e4ngt. Nur kann es hier passieren, dass&#8230; <a href=\"https:\/\/jet0jlh.de\/?p=510\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-510","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=510"}],"version-history":[{"count":3,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/510\/revisions"}],"predecessor-version":[{"id":514,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/510\/revisions\/514"}],"wp:attachment":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}