Mysterious PHP error after upgrade to 15.0.2

nc15
update_problems

#1

I just ran the automated upgrade from 15.0 to 15.0.2 which seemed to go without problems until I tried to access the site.

This fails every time with the message
The server was unable to complete your request.
_ If this happens again, please send the technical details below to the server administrator._
_ More details can be found in the server log._
_ Technical details_

_ Remote Address: 192.168.1.1_
_ Request ID: ZzGhJPtC664wHsLUoC9o_

When I look in the error logs, I get

_

PHP message: PHP Fatal error: require_once(): Failed opening required ‘/var/www/nextcloud-15/lib/versioncheck.php’ (include_path=’.:/usr/share/php’) in /var/www/nextcloud-15/ocs/v1.php on line 32" while reading response header from upstream, client: 192.168.1.1, server: xxxx, request: “GET /ocs/v2.php/core/navigation/apps?absolute=true&format=json HTTP/1.1”, upstream: “fastcgi://unix:/run/php/php7.0-fpm.sock:”, host: “xxxxx”

_

The file versioncheck.php is of course present, owned by www-data, and so on.
Has anyone any suggestions?
I have been using nextcloud on and off since version ten, and every single time I have upgraded something has gone wrong.


#2

I too use 15.0.2, upgraded from 14.
In my v1.php line 32 is:
“require_once __DIR__ . ‘/…/lib/versioncheck.php’;”
without ’ " ’ of course.
Works well.


#3

My line is exactly the same as yours
it points to the file the nc claims not to find.
But I still get the error; I don’t speak PHP well enough to be able to understand the directory specification, but if I were to change to the ocs directory and ask for “…/lib/versioncheck.php” that would work. So there must be some flaw in the preceding part of the specification
**

DIR_ and .

**

.


#4

Ah. Solved this one, by thinking through my last reply. Thank you for making me do so. Sometimes you only understand a problem when you try to explain it.

Before I upgraded I had looked at the Nextcloud warning messages, one of which was that PHP path was returning something empty.
So I looked at the www.conf under the php-fpm installation and all the environment settings, including path, were commented out. I uncommented them. But it turns out that the default sets /usr/local/bin before /usr/bin and this breaks php on debian, which is what raspbian is. Fiddling with that setting got nextcloud working again.

I should have known better than to act on the nextcloud warning: when I tried to act on the one telling me to install a memory cache I ended up in a state where my raspberry pi wouldn’t even boot and everything had to be reinstalled from a clean image. Moral: if it ain’t broke, don’t fix it.