Update to Nextcloud 12 Beta 1 and Beta 2 -> Memcache not available

Hello,

i just wanted to try out the new Beta 12 on my CentOS 7 system.
I’m running Nextcloud 11.0.3 without any issues.

But when i change the folder to Nextcloud 12 i get the error:

message":“OC\HintException: Memcache \OC\Memcache\APC not available for local cache at /var/www/html/nextcloud/lib/private/Memcache/Factory.php#96”

But when i check the extension is available:

PHP Version 5.6.30

apc
APC support 	Emulated
apcu
APCu Support	Enabled
Version 	4.0.11
APCu Debugging 	Disabled
MMAP Support 	Enabled
MMAP File Mask 	/tmp/apc.cYe0l9
Serialization Support 	php
Revision 	$Revision: 328290 $
Build Date 	May 2 2016 14:10:49
Directive	Local Value	Master Value
apc.coredump_unmap	Off	Off
apc.enable_cli	On	On
apc.enabled	On	On
apc.entries_hint	4096	4096
apc.gc_ttl	3600	3600
apc.mmap_file_mask	/tmp/apc.cYe0l9	/tmp/apc.cYe0l9
apc.preload_path	no value	no value
apc.rfc1867	Off	Off
apc.rfc1867_freq	0	0
apc.rfc1867_name	APC_UPLOAD_PROGRESS	APC_UPLOAD_PROGRESS
apc.rfc1867_prefix	upload_	upload_
apc.rfc1867_ttl	3600	3600
apc.serializer	default	default
apc.shm_segments	1	1
apc.shm_size	64M	64M
apc.slam_defense	On	On
apc.smart	0	0
apc.ttl	7200	7200
apc.use_request_time	On	On
apc.writable	/tmp	/tmp

My config:

$CONFIG = array (
  'updatechecker' => false,
  'instanceid' => '1234567890',
  'passwordsalt' => 'MySecretSalt',
  'secret' => 'MySecret',
  'trusted_domains' =>
  array (
    0 => 'cloud.mydomain.com',
  ),
  'datadirectory' => '/var/www/html/nextclouddata/data',
  'overwrite.cli.url' => 'https://cloud.mydomain.com',
  'dbtype' => 'mysql',
  'version' => '11.0.3.2',
  'dbname' => 'myDB',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'nx_',
  'dbuser' => 'MYUser',
  'dbpassword' => 'MyPassword',
  'logtimezone' => 'UTC',
  'default_language' => 'de',
  'installed' => true,
  'mail_from_address' => 'next',
  'mail_smtpmode' => 'php',
  'mail_domain' => 'mydomain.com',
  'memcache.local' => '\\OC\\Memcache\\APC',
  'apps_paths' =>
  array (
    0 =>
    array (
      'path' => '/var/www/html/nextcloud/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 =>
    array (
      'path' => '/var/www/html/nextcloudapps',
      'url' => '/apps2',
      'writable' => true,
    ),
  ),
  'loglevel' => 0,
  'theme' => '',
  'maintenance' => false,
  'htaccess.RewriteBase' => '/',
  'activity_expire_days' => 1.4141414141413999E+27,
  'enabledPreviewProviders' =>
  array (
    0 => 'OC\\Preview\\Image',
    1 => 'OC\\Preview\\MP3',
    2 => 'OC\\Preview\\TXT',
    3 => 'OC\\Preview\\MarkDown',
    4 => 'OC\\Preview\\Epub',
    5 => 'OC\\Preview\\PDF',
    6 => 'OC\\Preview\\OpenDocument',
    7 => 'OC\\Preview\\StarOffice',
    8 => 'OC\\Preview\\MSOfficeDoc',
    9 => 'OC\\Preview\\MSOffice2003',
    10 => 'OC\\Preview\\MSOffice2007',
  ),
  'updater.release.channel' => 'stable',
);

Apache Logfiles doesn’t show any messages.

Do you have an idea why Nextcloud beta 12 can’t find APCu ?

Thanks.

Thomas

Use APCu instead of APC in config.php.

'memcache.local' => '\OC\Memcache\APCu',

APC is no longer supported as of NC12.

2 Likes

I just ran into the same problem while running the upgrade to NC 12.0 final. Are you sure that the issue has been fixed completely in the final?

The manual edit of the config.php solved the problem. But before that the updater app killed my NextCloud by not changeing \OC\Memcache\APC to \OC\Memcache\APC u

I don’t see an intention that the updater will solve this automatically. Since APC was deprecated already long time, it also did not show up in admin manual since long ago and the current documentation clearly shows the three supported backends: APCu, Memcached and Redis ;).

But yeah, would be helpful to have some overview of dropped configurations/config.php settings/deprecated stuff like old database/webserver/php versions etc. for server admins, like it exists for app developers: https://docs.nextcloud.com/server/12/developer_manual/app/changelog.html
Showing this at the top of every update could be useful for people to know, what they might need to change manually to not running into problems needed to fix afterwards. That way the upgrade effort can also determined more precise.

I just remember the change of caldav/carddav addresses before. There was an automatic fix implemented afterwards, but doing this for every change like that could be a pain, especially as upgrading for several major versions is planned.

You have to check the config.sample.php regularly (and remove old settings like 'enable_avatars' => false, (avatars are displayed as of NC12)).