In eine Abhängigkeits-Falle bin ich unlängst getappt. Ein älteres GNU/Linux Debian 11 Bullseye als auch das darauf installierte Nextcloud 25 wollte ich auf den aktuellen Stand bringen. Doch kann die Nextcloud 25 nichts mit der in Debian 12 Bookworm installierten PHP-Version 8.2 anfangen. Umgekehrt kann ich Nextcloud auf einem Bullseye 11 mit PHP 7.4 nicht auf eine aktuellere Nextcloud Version bringen, die PHP 8.2 unterstützt. Manuell eine PHP-Version abseits der Debian-Paketquellen installieren will ich nicht. Ein Einsatz von Containern kommt auch nicht in Frage.
Eine sehr einfache und pragmatische Lösung dieses Dilemmas: Die PHP-Erkennung von Nextcloud kurzfristig deaktivieren. Das erfolgt in der Datei /lib/versioncheck.php im Home-Verzeichnis der jeweiligen Nextcloud. In der Abfrage:s
if (PHP_VERSION_ID >= 80200) {
wird die PHP-Version einfach höher gesetzt:
if (PHP_VERSION_ID >= 80300) {
So kann ich die Nextcloud 25 auf einem Debian Bookworm 12 Bookworm mit PHP 8.2 in Betrieb nehmen und das Upgrade auf die aktuelle Nextcloud Version 27 ausführen.
Das meine Damen und Herren ist der Vorteil von freier Software.
In diesem Sinne,
Euer Tomas Jakobs