Skip to content

PHP config and libs missing from image 34.0.2.1, 'Memcache OC\\Memcache\\APCu not available' in logs #2591

Description

@n4dwxihyeyhes2

EDIT START:

The image nextcloud:34.0.2 is severely broken. Do not use!

EDIT END

Yesterday I upgraded my Nextcloud instance with docker compose pull and docker compose up -d and it started throwing errors in logs:

nextcloud-1  | [Tue Jul 28 04:58:34.404850 2026] [php:error] [pid 54:tid 54] [client 172.20.0.1:47012] PHP Fatal error:  
Uncaught OCP\\HintException: [0]: Memcache OC\\Memcache\\APCu not available for local cache 
(Is the matching PHP module installed and enabled?)\n\n  thrown in /var/www/html/lib/private/Memcache/Factory.php on line 77

This is my docker-compose.yaml:

services:
  nextcloud:
    image: nextcloud
    ports:
      - "40004:80"
    restart: always
    external_links:
      - mysql:mysql
    volumes:
      - /var/lib/nextcloud:/var/www/html
    networks:
      - common

networks:
  common:
    external: true

This is version.php from the container:

<?php 
$OC_Version = array(34,0,2,1);
$OC_VersionString = '34.0.2';
$OC_Edition = '';
$OC_Channel = 'stable';
$OC_VersionCanBeUpgradedFrom = array (
  'nextcloud' => 
  array (
    '33.0' => true,
    '34.0' => true,
  ),
  'owncloud' => 
  array (
    '10.13' => true,
    '10.14' => true,
    '10.15' => true,
    '10.16' => true,
  ),
);
$OC_Build = '2026-07-23T12:23:26+00:00 1a0ccac96f9b4a0682c60eac550c0eb03294626b';
$vendor = 'nextcloud';

I noticed that all ini files in /usr/local/etc/php/conf.d/ except docker-php-ext-sodium.ini are empty:

-rw-r--r-- 1 root root  0 Jul 23 23:08 docker-php-ext-apcu.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-bcmath.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-exif.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-ftp.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-gd.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-gmp.ini
-rw-r--r-- 1 root root  0 Jul 23 23:08 docker-php-ext-igbinary.ini
-rw-r--r-- 1 root root  0 Jul 23 23:08 docker-php-ext-imagick.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-intl.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-ldap.ini
-rw-r--r-- 1 root root  0 Jul 23 23:08 docker-php-ext-memcached.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-pcntl.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-pdo_mysql.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-pdo_pgsql.ini
-rw-r--r-- 1 root root  0 Jul 23 23:08 docker-php-ext-redis.ini
-rw-r--r-- 1 root root 17 Jul 14 01:28 docker-php-ext-sodium.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-sysvsem.ini
-rw-r--r-- 1 root root  0 Jul 23 23:07 docker-php-ext-zip.ini
-rw-r--r-- 1 root root  0 Jul 23 23:08 nextcloud.ini
-rw-r--r-- 1 root root  0 Jul 23 23:08 opcache-recommended.ini

Don't know if that's OK or not. However, after I added

extension=apcu.so
apc.enabled=1
apc.enable_cli=1

to docker-php-ext-apcu.ini I started getting a different error in container logs:

nextcloud-1  | Warning: PHP Startup: Unable to load dynamic library 'apcu.so' 
(tried: /usr/local/lib/php/extensions/no-debug-non-zts-20250925/apcu.so 
(/usr/local/lib/php/extensions/no-debug-non-zts-20250925/apcu.so: file too short), 
/usr/local/lib/php/extensions/no-debug-non-zts-20250925/apcu.so.so 
(/usr/local/lib/php/extensions/no-debug-non-zts-20250925/apcu.so.so: cannot open shared object file: No such file or directory))
 in Unknown on line 0

The contents of /usr/local/lib/php/extensions/no-debug-non-zts-20250925/ explains the file too short message:

-rw-r--r-- 1 root root      0 Jul 23 23:08 apcu.so
-rwxr-xr-x 1 root root      0 Jul 23 23:07 bcmath.so*
-rwxr-xr-x 1 root root      0 Jul 23 23:07 exif.so*
-rwxr-xr-x 1 root root      0 Jul 23 23:07 ftp.so*
-rwxr-xr-x 1 root root      0 Jul 23 23:07 gd.so*
-rwxr-xr-x 1 root root      0 Jul 23 23:07 gmp.so*
-rw-r--r-- 1 root root      0 Jul 23 23:08 igbinary.so
-rw-r--r-- 1 root root      0 Jul 23 23:08 imagick.so
-rwxr-xr-x 1 root root      0 Jul 23 23:07 intl.so*
-rwxr-xr-x 1 root root      0 Jul 23 23:07 ldap.so*
-rw-r--r-- 1 root root      0 Jul 23 23:08 memcached.so
-rwxr-xr-x 1 root root      0 Jul 23 23:07 pcntl.so*
-rwxr-xr-x 1 root root      0 Jul 23 23:07 pdo_mysql.so*
-rwxr-xr-x 1 root root      0 Jul 23 23:07 pdo_pgsql.so*
-rw-r--r-- 1 root root      0 Jul 23 23:08 redis.so
-rwxr-xr-x 1 root root 113944 Jul 14 01:28 sodium.so*
-rwxr-xr-x 1 root root      0 Jul 23 23:07 sysvsem.so*
-rwxr-xr-x 1 root root      0 Jul 23 23:07 zip.so*

I cannot use previous Nextcloud image to compare because of the downgrade prevention mechanism.

I cannot paste output from ./occ config:list system because I get error

An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache OC\Memcache\Redis not available for distributed cache (Is the matching PHP module installed and enabled?)

My config.php:

$CONFIG = array (
  'instanceid' => '[redacted]',
  'passwordsalt' => '[redacted]',
  'datadirectory' => '/var/www/html/data',
  'dbtype' => 'mysql',
  'version' => '34.0.1.2',
  'installed' => true,
  'maxZipInputSize' => 838860800,
  'allowZipDownload' => true,
  'theme' => '',
  'maintenance' => false,
  'ldapIgnoreNamingRules' => false,
  'loglevel' => 0,
  'preview_libreoffice_path' => '/usr/bin/libreoffice',
  'enable_previews' => true,
  'trusted_domains' => 
  array (
    0 => '[redacted]',
  ),
  'dbname' => 'owncloud',
  'dbhost' => 'mysql',
  'dbuser' => 'owncloud',
  'dbpassword' => '[redacted]',
  'secret' => '[redacted]',
  'trashbin_retention_obligation' => 'auto',
  'updatechecker' => false,
  'filelocking.enabled' => true,
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => '[redacted]',
    'port' => 6379,
    'timeout' => 0,
  ),
  'ldapProviderFactory' => '\\OCA\\User_LDAP\\LDAPProviderFactory',
  'overwrite.cli.url' => '[redacted]',
  'mail_from_address' => 'nextcloud',
  'mail_smtpmode' => 'smtp',
  'mail_sendmailmode' => 'smtp',
  'mail_domain' => '[redacted]',
  'mail_smtphost' => '[redacted]',
  'trusted_proxies' => 
  array (
    0 => '172.20.0.1',
  ),
  'overwritehost' => '[redacted]',
  'overwriteprotocol' => 'https',
  'overwritewebroot' => '/',
  'mysql.utf8mb4' => true,
  'default_phone_region' => 'PL',
  'bulkupload.enabled' => false,
  'csrf.optout' => 
  array (
    0 => '/^.*nextcloudcmd.*/',
    1 => '/^.*Nextcloud.*/',
),
);

I run Nextcloud container on a Debian 13.6 system.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions