Upgrade 24 -> 25: This directory is unavailable, please check the logs or contact the administrator (shares)

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.