How To Switch PHP Version on Ubuntu 20.04 LTS

Hallo Forum,

sollte ich die zuvor verlinkte Anleitung zum Wechesl der PHP Version mit Nextcloud verwenden können?

Wenn nein, warum nicht?

Ich verwende einen nginx-server, info.php kann dort nicht angewendet werden.
Welche Alternative gibt es bei nginx zu info.php?

MfG
nc-kay

Was willst du denn mit der Anleitung? Was ist denn überhaupt dein Problem? Welche Ubuntu Version nutzt du? Normalerweise sollte es ausreichend sein die Standardversion von PHP zu verwenden. Das war bei Ubuntu 20.04 LTS PHP 7.4 und ist bei Ubuntu 22.04 LTS PHP 8.1. Sollte beim Upgrade automatisch ausgetauscht werden es sei denn du hast irgendwas gedreht.

Probleme habe ich gerade nicht.

@bb77 hat nicht ganz unrecht, das ist ein Vorteil.
Nur muss man bei der Problematik auch wissen wie man damit umgeht.
Bei der Verwendung von Debian ist das noch wichtiger.

Mein Wissen versuche ich zu erweitern.

Ich nutze Ubuntu 20.04 und Ubuntu 22.04.

Hatte gar nicht gemerkt, dass das andere auch dein Thread war.

Bei Verwendung der richtigen Nextcloud Version solltest du ein normales Upgrade von Ubuntu 20.04 LTS auf Ubuntu 22.04 LTS unter Wechsel PHP 7.4 auf PHP 8.1 durchführen können. Die Notwendigkeit eines manuellen Wechsels der PHP-Version ist gar nicht notwendig.

Mit der Flexibilität hast du natürlich nicht recht.

Manueller Wechsel der PHP Version.
Das möchte ich wissen, wie es zuverlässig bei Nextcloud funktioniert.

Wer kennt den Weg?

Du kannst entweder die Holzhammermethode verwenden, die ich hier schon gepostet habe. Hat bei mir mehrfach funktioniert. Allerdings nutze ich Apache und weiss daher nicht, ob noch etwas an der nginx Config gemacht werden muss, wenn die PHP Version ändert. Mit Apache muss man diesbezüglich nichts machen.

Oder du liest dir mal das durch: Managing Multiple Versions · oerdnj/deb.sury.org Wiki · GitHub Ich sehe allerdings keinen Grund, warum man mehrere PHP Versionen auf dem System vorhalten soll, ausser man nutzt mehrere Applikationen, die jeweils unterschiedliche PHP Versionen voraussetzten.

@nc-kay @bb77
Vielleicht noch eine Anmerkung.

Ubuntu 22.04 LTS ist ja noch relativ neu und damit auch PHP 8.1 relativ neu, welches standardmäßig mitgeliefert wird. Aktuell wäre eine alternative PHP-Version eher ein Downgrade, welches nur dann Sinn macht, wenn die aktuelle Version nicht funktioniert. In etwa zwei Jahren also kurz vor Ubuntu 24.04 LTS wird Ubuntu 22.04 LTS und damit auch PHP 8.1 evtl. etwas veraltet sein. Dann macht die Installation einer neueren PHP-Version vielleicht schon mehr Sinn. Aber eigentlich sollte in zwei Jahren die dann aktuelle Nextcloud-Version noch PHP 8.1 unterstützen. Das war/ist ja mit Ubuntu 20.04 LTS und PHP 7.4 auch der Fall. Natürlich werden dann von Nextcloud längst auch neuere PHP-Versionen unterstützt. Aber das ist ja kein Grund etwas zu ändern.

Aber solange du nicht den Fehler machst auf deiner Nextcloud die Beta-Ubuntu-Releases 22.10, 23.04 und 23.10 zwischendurch einzusetzen, ist alles ok. Das wäre ein noch weitaus größerer Fehler.

Das Rieger Script installiert aber PHP aus den Sury Repos und zwar eine explizite Version. Wenn er da auf eine andere Version wechseln will, muss er diese entweder zusätzlich installieren und dann die verschiedenen Versionen gemäss meinem Link managen, oder er muss die installierte deinstallieren und eine andere installieren.

1 Like

Das mag sein. Die Frage ist eigentlich, wer das Rieger Script verwendet und wer nicht. Ist vielleicht ein wenig wie bei Snap. Scripte haben Vor- und Nachteile. Vielleicht ist die Nextcloud-Version durch die angepasste PHP-Version besser. Aber vielleicht wäre es auch gut, wenn der Anwender nicht nur einfach das Script durchlaufen lässt, sondern versteht, was passiert.

Joa. Darum habe ich im anderen Thread auch auf die Anleitung von Rieger verwiesen. Dann sieht man wenigstens was man macht. Klar versteht man nicht automatisch alles was man macht im Deatil, nur weil man irgendwelche Befehle manuell copy&pasted- Aber man weiss dann z.B. oder könnte wissen, dass PHP via Sury Repos eingebunden ist, welche PHP Version man installiert hat, welche Optimierungen und Konfiguartonsdateien angepasst wurden.

Anyway. Die Frage war ob man die verlinkte Anleitung verwenden kann, und ja man kann sie grundsätlich verwenden. Nur berücksichtigt diese Anleitung nicht, dass @nc-kay das Rieger Script verwendet hat und somit die Sury Repos eingebunden hat. Und andere PHP Versionen müssen ja auch erst mal installiert sein, um sie nutzen zu können.

Keine Ahnung wie es wirklich war @bb77 oder wie @nc-kay es haben wollte. Ich verstehe grundsätzlich nicht, warum man nicht einfach die PHP-Version nutzt, die das jeweilige Release mitliefert. Aber diesen PPA-Wahnsinn von Ubuntu habe ich noch nie verstanden. Bei Debian kann man auch Fremdquellen einbinden aber ich glaube da wird das weit weniger genutzt. Und ich verwende sowas schon mal gar nicht. Dafür bin ich viel zu faul.

Ich sehe das Problem auch nicht.

PHP purgen, Und die paar Codeblöcke in der Rieger Anleitung kopieren, fertig. Dauert keine fünf Minuten.

Aber ja man muss nicht zwingend Fremdquellen nutzen, und ja Fremdquellen machen die Dinge grundsätzlich etwas komplizierter. Möchte man aber eine simplere Installation haben, muss man entweder das Script von Rieger anpassen, oder halt eben doch selbst von Hand installieren :wink:

Möchte Debian 11 Bullseye Stable nutzten, benögitg man eine Fremdquelle.

https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html

Von Nextcloud wird PHP 8 empfohlen, Debian 11 bietet nur PHP 7.4.

Debian 10, wie von Nextcloud empfohlen bietet nur PHP 7.3
PHP 7.3 wird von Nextcloud nicht mehr aufgeführt.

https://www.php.net/supported-versions.php

PHP 7.3 ist End of life.

Also möchte ich gerne das Rüstzeug haben um die PHP Version wechseln zu können.

Deswegen dieser Thread, ob nun Ubuntu oder Debian, das sollte egal sein.

Und leider bis jetzt wieder nix vollständig gelernt.

1 Like

Benötigen tut man es nicht. PHP 7.4 ist immer noch unterstützt von Nextcloud. Es gibt aber spürbare Performancesteigerungen mit PHP 8.1 Vorallem Nextcloud 24 profitiert hier und ich würde dir empfehlen PHP 8.1 zu nutzen.

Und ja wnn du Script das Script von C. Rieger nimmst oder seine Anleitung 1:1 durcharbeiten willst, nutzt du eine Fremdquelle. Wobei so richtig fremd ist diese Quelle nicht, denn Ondřej Surý ist der offizielle Maintainer von PHP im Debian Projekt.

Mit den Quellen von Ondřej Surý hast du das Rüstzeug dazu.

1 Like

Hallo @nc-kay . Ich war immer davon ausgegangen, dass du Ubuntu verwenden willst. Jetzt wo ich verstanden habe, dass du Debian verwenden willst, stimme ich dir natürlich etwas mehr zu. Debian Bullseye (Stable) nutzt wie du schreibst nur PHP 7.4 und Ubuntu 22.04 LTS (aktuelle Version) nutzt bereits PHP 8.1.

Bei Debian macht es dann weit mehr Sinn eine Fremdquelle zu nutzen. Das liegt aber auch daran, dass Debian Stable schon weit älter als ein Jahr ist und somit die PHP-Version langsam aber sicher veraltet.