tl;dr: Wait for Nextcloud version 25.0.2 and Update. See https://github.com/nextcloud/server/pull/34905
Found a “quick” (and dirty?) fix.
The information about the required 64-bit PHP in the admin overview sent me the wrong way.
Actually “reading” (RTFEM - reading the ducking error message) in the Nextcloud Data folder (nextcloud.log) does help.
Then I found [Bug]: TypeError: Return value of OCA\DAV\Connector\Sabre\FilesPlugin::OCA\DAV\Connector\Sabre\{closure}() must be of the type int or null, float returned · Issue #34674 · nextcloud/server · GitHub which if you scroll down tells you about a workaround.
This is the patch that worked for me. Also had to sudo systemctl restart php7.4-fpm.service
. After that everything seems to work again.
Still I have to replace the hardware but this gives me some room to breathe …
root@nextcloud:~# diff -Naur /root/var/www/nextcloud/apps/dav/lib/Connector/Sabre/FilesPlugin.php /var/www/nextcloud/apps/dav/lib/Connector/Sabre/FilesPlugin.php
--- /root/var/www/nextcloud/apps/dav/lib/Connector/Sabre/FilesPlugin.php 2022-11-22 18:18:57.786885186 +0000
+++ /var/www/nextcloud/apps/dav/lib/Connector/Sabre/FilesPlugin.php 2022-11-22 18:13:26.375521209 +0000
@@ -352,7 +352,9 @@
$propFind->handle(self::HAS_PREVIEW_PROPERTYNAME, function () use ($node) {
return json_encode($this->previewManager->isAvailable($node->getFileInfo()));
});
- $propFind->handle(self::SIZE_PROPERTYNAME, function () use ($node): ?int {
+ // https://help.nextcloud.com/t/cannot-access-files-after-upgrade-to-nextcloud-25/147823/4?u=michaing
+ // Changed ?int to ?float in line 357
+ $propFind->handle(self::SIZE_PROPERTYNAME, function () use ($node): ?float {
return $node->getSize();
});
$propFind->handle(self::MOUNT_TYPE_PROPERTYNAME, function () use ($node) {
Quote https://github.com/nextcloud/server/issues/34674#issuecomment-1285810556
We didnt plan to actively remove 32-bit compatibility but it seems like we did for 25 without knowing as we do not test against 32-bit which is why we removed 32-bit support in the first place.