Ubuntu 22.04 php8.1; Nextcloud lÀuft nicht mehr

Hallo, habe eine tiefere Version wie 24.x installiert und wie aus der Überschrift zu lesen nun php8.1 am Start. Was nicht funktioniert. Wie kann ich entweder nextcloud auf höher 24 in der Konsole upgraden oder nur fĂŒr nextcloud eine tiefere php Version auswĂ€hlen?

Hallo @gilada

Ich habe mal ein wenig gegoogelt fĂŒr dich
 :wink:

Betreffend den ersten beiden Links bin ich nicht sicher ob es evtl. Probleme beim Updateprozess geben kann, wenn du bereits auf PHP8.1 bist. Ich wĂŒrde deshalb eher dazu tendieren eine tiefere PHP Version zu installieren und deine Nextcloud erst mal wieder zum Laufen zu kriegen. Danach kannst du dann ganz normal upgraden und nach einem erfolgreichen Upgrade auf NC24 allenfalls auch wieder auf PHP8.1 wechseln.

Upgrade via CLI-Updater:

https://docs.nextcloud.com/server/latest/admin_manual/maintenance/update.html#using-the-command-line-based-updater

Manuelles Upgrade:

https://docs.nextcloud.com/server/latest/admin_manual/maintenance/manual_upgrade.html#upgrade-manually

Ältere PHP Versionen installieren:
https://tecadmin.net/how-to-install-php-on-ubuntu-22-04/

WeiterfĂŒhrende Links / Quellen:
https://github.com/oerdnj/deb.sury.org/wiki
https://launchpad.net/~ondrej/+archive/ubuntu/php

Hallo @bb77,

vielen lieben Dank, werde heute Abend (wenn ich wieder zu Hause bin) mich sofort dran machen. Wobei mir der Link fĂŒr das manuelle eher zusagt, zumal ich mir bereits die last.zip heruntergeladen habe.

Die Frage ist halt, ob es ganz unabhĂ€ng von der gewĂ€hlten, Upgrademethode, nicht besser wĂ€re, zuerst PHP “downzugraden”, um die Nextcloud wieder zum Laufen zu kriegen. Da habe ich leider keine Erfahrung, weil ich nie in der Situation war, dass ich eine “zu neue” PHP Version installiert hatte. Ich kann also nicht mit Sicherheit sagen, ob die manuelle Methode, oder irgeindeine Methode, in dieser Situation funktionieren wĂŒrde


Hallo @bb77,

kein Problem, ich versuche es zuerst ohne downgrade php, werde berichten ob so funktioniert.

1 Like

Hallo, also kleiner Bericht (manuell):
Nachdem ich bei mir folgendes installiert habe:
sudo apt install php8.1-cli php8.1-curl php8.1-mysqlnd php8.1-gd php8.1-opcache php8.1-zip php8.1-intl php8.1-common php8.1-bcmath php8.1-imap php8.1-imagick php8.1-xmlrpc php8.1-readline php8.1-memcached php8.1-redis php8.1-mbstring php8.1-apcu php8.1-xml php8.1-dom php8.1-redis php8.1-memcached php8.1-memcache
Lief das update (‘sudo -u www-data php occ upgrade’) durch, ein erneutes aufrufen meldet ‘Nextcloud is already latest version’. Aber leider weiterhin im Browser viel Text anbei:

<?php
/**
 * @copyright Copyright (c) 2016, ownCloud, Inc.
 *
 * @author Christoph Wurst <christoph@winzerhof-wurst.at>
 * @author Joas Schilling <coding@schilljs.com>
 * @author Jörn Friedrich Dreyer <jfd@butonic.de>
 * @author Lukas Reschke <lukas@statuscode.ch>
 * @author Morris Jobke <hey@morrisjobke.de>
 * @author Robin Appelman <robin@icewind.nl>
 * @author Roeland Jago Douma <roeland@famdouma.nl>
 * @author Sergio Bertolín <sbertolin@solidgear.es>
 * @author Thomas MĂƒÂŒller <thomas.mueller@tmit.eu>
 * @author Vincent Petry <vincent@nextcloud.com>
 *
 * @license AGPL-3.0
 *
 * This code is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License, version 3,
 * as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License, version 3,
 * along with this program. If not, see <http://www.gnu.org/licenses/>
 *
 */
require_once __DIR__ . '/lib/versioncheck.php';

try {
	require_once __DIR__ . '/lib/base.php';

	OC::handleRequest();
} catch (\OC\ServiceUnavailableException $ex) {
	\OC::$server->getLogger()->logException($ex, ['app' => 'index']);

	//show the user a detailed error page
	OC_Template::printExceptionErrorPage($ex, 503);
} catch (\OCP\HintException $ex) {
	try {
		OC_Template::printErrorPage($ex->getMessage(), $ex->getHint(), 503);
	} catch (Exception $ex2) {
		try {
			\OC::$server->getLogger()->logException($ex, ['app' => 'index']);
			\OC::$server->getLogger()->logException($ex2, ['app' => 'index']);
		} catch (Throwable $e) {
			// no way to log it properly - but to avoid a white page of death we try harder and ignore this one here
		}

		//show the user a detailed error page
		OC_Template::printExceptionErrorPage($ex, 500);
	}
} catch (\OC\User\LoginException $ex) {
	$request = \OC::$server->getRequest();
	/**
	 * Routes with the @CORS annotation and other API endpoints should
	 * not return a webpage, so we only print the error page when html is accepted,
	 * otherwise we reply with a JSON array like the SecurityMiddleware would do.
	 */
	if (stripos($request->getHeader('Accept'), 'html') === false) {
		http_response_code(401);
		header('Content-Type: application/json; charset=utf-8');
		echo json_encode(['message' => $ex->getMessage()]);
		exit();
	}
	OC_Template::printErrorPage($ex->getMessage(), $ex->getMessage(), 401);
} catch (Exception $ex) {
	\OC::$server->getLogger()->logException($ex, ['app' => 'index']);

	//show the user a detailed error page
	OC_Template::printExceptionErrorPage($ex, 500);
} catch (Error $ex) {
	try {
		\OC::$server->getLogger()->logException($ex, ['app' => 'index']);
	} catch (Error $e) {
		http_response_code(500);
		header('Content-Type: text/plain; charset=utf-8');
		print("Internal Server Error\n\n");
		print("The server encountered an internal error and was unable to complete your request.\n");
		print("Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.\n");
		print("More details can be found in the webserver log.\n");

		throw $ex;
	}
	OC_Template::printExceptionErrorPage($ex, 500);
}

Also werde ich es spÀter mit dem php downgrade versuchen



 nun wieder back to old nc Version, was soll ich sagen irgendwie verliert man die Lust auf cloud.
Es funzt nur nicht

Naja, es hilft sicherlich nicht, wenn’s zu spĂ€t ist, aber es macht schon Sinn vor einem Update (egal ob Software oder Betriebssystem) zumindest mal zu checken, ob alles kompatibel ist. Dann verliert man auch nicht die Lust.

Leider hast du recht wenig zu deinem System im Allgemeinen geschrieben. Nutzt du Apache? Dein Webserver verarbeitet offenbar keine PHP Dateien, daher die Ausgabe die du siehst. Je nach dem was du einsetzt, prĂŒfen, ob z.B. mod_php aktiviert ist.

selbstverstĂ€ndlich nutze ich den apache2. Keine php Dateien, Großes ? ging vor updates OS uns somit php einwandfrei. Kann ja wohl nicht sein


SelbstverstÀndlich.

SelbstverstÀndlich, da war es ja auch noch nicht PHP 8.1

Naja, du hast ein System Update gemacht und auf neuere PHP Versionen aktualisiert , welche in deiner jetzigen installierten Version nicht unterstĂŒtzt wird. Es bleiben also nur zwei Möglichkeiten, PHP runter oder Nextcloud hoch.

schon beides versucht (php runter und oder nc hoch) nada

Es scheint so als wĂŒrde das PHP Modul fĂŒr den Apache fehlen. Versuche mal folgendes


sudo apt install libapache2-mod-php8.1

Moin, nein das hatte ich bereits, siehe;

$ sudo apt install libapache2-mod-php8.1
Paketlisten werden gelesen
 Fertig
AbhÀngigkeitsbaum wird aufgebaut
 Fertig
Statusinformationen werden eingelesen
 Fertig
libapache2-mod-php8.1 ist schon die neueste Version (8.1.2-1ubuntu2.1).
libapache2-mod-php8.1 wurde als manuell installiert festgelegt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

ich darf vermelden es funzt wieder hurra hurra.
Habe nochmals ein ‘sudo -u www-data php occ upgrade’ im nextcloud Verzeichnis auf die Reise geschickt, was am Ende mit successful Quittiert wurde. Ich denke aber das der Auslöser hier gelegen hat: ‘sudo a2enmod php8.1’

Der Rest unter einstellungen Übersicht werde ich dann auch noch gebacken bekommen, bin nun auf NC 24.0.2 Version.

Ja so, fast vergessen vor lauter Freude. Vielen Dank fĂŒr das Hirnschmalz aller beteiligten.

1 Like