open_basedir
was intentionally not enabled in any of my php.ini
/php-fpm.ini
files on this TEST server. However, it turns out that open_basedir
is enabled by default in the Archlinux package in nextcloud.conf
. It is located well up above and away from where you are instructed to add or uncomment the igbinary
and redis
extensions so not something you will be drawn to. It was not something I was even looking for as I had made the decision not to enable open_basedir
on this test box that is not accessible from the outside world.
After grep
ping around through all the various config files (made a bit more complex given how Arch isolates Nextcloud per the webapp std), it was the stray grep
of nextcloud.conf
dumping it without comments that disclosed open_basedir
being set as part of the webapp isolation.
BINGO! Once that was discovered, simply adding /run/redis
(the runtime directory on Arch) to the open_basedir
path allowed full caching and the MySQL transactional locking to work like clockwork.
So if faced with a similar issue on a distro that isn’t given as example in the Nextcloud documentation, double check ALL config files for open_basedir
.