Forzar la actualización de Nextcloud que dejó de iniciarse debido a una actualización de PHP

3 min

language: ja bn en es hi pt ru zh-cn zh-tw

images.png

Hola, soy un incompetente.

Al actualizar de golpe a PHP 8.2.7, Nextcloud, que era compatible hasta PHP 8.0, dejó de iniciarse.

This version of Nextcloud is not compatible with PHP>=8.2.
You are currently running 8.2.7.

Solo se muestra esto, e incluso si intento actualizar desde la CLI, la actualización desde la CLI no funciona.

Así que encontré una manera de falsificar la versión de PHP que Nextcloud reconoce.

La ubicación es /nextcloud/lib/versioncheck.php dentro del directorio de Nextcloud.
※Lo siguiente ya está actualizado. Las partes comentadas son largas, así que las he eliminado.

<?php

declare(strict_types=1);

if (PHP_VERSION_ID < 80000) {
	http_response_code(500);
	echo 'This version of Nextcloud requires at least PHP 8.0<br/>';
	echo 'You are currently running ' . PHP_VERSION . '. Please update your PHP version.';
	exit(1);
}

// Show warning if >= PHP 8.3 is used as Nextcloud is not compatible with >= PHP 8.3 for now
if (PHP_VERSION_ID >= 80300) {
	http_response_code(500);
	echo 'This version of Nextcloud is not compatible with PHP>=8.3.<br/>';
	echo 'You are currently running ' . PHP_VERSION . '.';
	exit(1);
}

El problema está aquí.

if (PHP_VERSION_ID >= 80300) {

Dado que aquí se verifica la versión, asegúrese de que sea igual o superior a la versión de PHP que tiene instalada.

En mi caso, como tenía PHP 8.2.7, lo cambié de la siguiente manera.

if (PHP_VERSION_ID >= 80207) {

Luego, desde la CLI,

sudo -u www-data php /var/www/html/cloud/occ update:check

y funcionó.
Especifique el usuario y configure la ruta adecuada para que occ pueda iniciarse.

Aunque lo actualicé de golpe a la última versión, creo que fue bueno al final porque el rendimiento mejoró considerablemente.
Pero, ¿qué pasa con esta especificación...?
Me parece que debería ser posible actualizar por defecto, independientemente de PHP, pero no sé por qué adoptaron esta especificación.

Hasta la próxima.

Related Posts