Memcache \\OC\\Memcache\\APCu not available for local/distributed cache

Problem

Important: This FAQ is only valid if you’re getting the following messages with the cli entry.

You’re getting the following logentry in your admin backend:

Info cli Memcache \OC\Memcache\APCu not available for distributed cache 2016-07-31T12:32:28+02:00
Info cli Memcache \OC\Memcache\APCu not available for local cache 2016-07-31T12:32:28+02:00

or the following in your data/owncloud.log:

{"reqId":"rAy5KysRvhwDGjnw8Fxy","remoteAddr":"","app":"cli","message":"Memcache \\OC\\Memcache\\APCu not available for local cache","level":1,"time":"2016-07-31T12:32:28+02:00","method":"--","url":"--","user":"--"}
{"reqId":"rAy5KysRvhwDGjnw8Fxy","remoteAddr":"","app":"cli","message":"Memcache \\OC\\Memcache\\APCu not available for distributed cache","level":1,"time":"2016-07-31T12:32:28+02:00","method":"--","url":"--","user":"--"}

Description

ownCloud is using a Memcache like APC/APCu for its Webinterface part to speed up e.g. operations. When enabling such a Memcache it might be possible that you’re getting the messages above in your logfiles. This is because APC/APCu are not enabled for the cli version of PHP by most PHP configs out there.

Solution

The manual of APC/APCu is discouraging to enable APC/APCu on the PHP cli variant:

Under normal circumstances, it is not ideal to create, populate and destroy the APC cache on every CLI request, but for various test scenarios it is useful to be able to enable APC for the CLI version of PHP easily.

https://secure.php.net/manual/en/apc.configuration.php#ini.apc.enable-cli

That you’re getting the message itself shows that you have configured a non-default loglevel (below 2) in your config/config.php like:

'loglevel' => 0,

Reset this to the default of loglevel via the Admin Backend of your ownCloud installation by changing:

- Everything (fatal issues, errors, warnings, info, debug)

or

- Info, warnings, errors and fatal issues

to:

- Warnings, errors and fatal issues

or by changing:

'loglevel' => 0,

or

'loglevel' => 1,

to:

'loglevel' => 2,

in your config/config.php

Additional background info

The message is shown because it might help you to debug your setup if you’re using e.g. Redis as a Memcache where it could make sense to enable caching for PHP cli. Thus it is logged as a non-default “Info” log level.