Come appare il messaggio
Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)Cause frequenti
apc.enable_clinon è a 1 nella configurazione della CLI (il default è 0).php-apcuinstallato solo per FPM e non per la CLI.- occ gira con una versione di PHP diversa dal web server, ad es.
phppunta a 8.1 e FPM usa 8.3. - Il config.php indica APCu ma il modulo non è mai stato installato.
Verifica
- Verifica che la CLI carichi il modulo
php -m | grep -i apcu - Mostra apc.enable_cli e il php.ini caricato dalla CLI
php -i | grep -E 'apc.enable_cli|Loaded Configuration File' - Mostra la cache locale configurata
sudo -u www-data php /var/www/nextcloud/occ config:system:get memcache.local - Cerca le voci esistenti nella config della CLI
grep -r 'apc.enable_cli' /etc/php/*/cli/
Soluzione
- Aggiungi
apc.enable_cli=1in/etc/php/8.3/mods-available/apcu.ini. - Installa il modulo mancante:
apt install php8.3-apcu, per la versione di PHP in uso. - Lancia occ e cron con la versione giusta, ad es.
php8.3 occephp8.3 -f cron.php. - APCu non disponibile? Usa
'memcache.local' => '\OC\Memcache\Redis'. - Poi verifica con
occ statusche il messaggio sia sparito.
Domande frequenti
Devo riavviare PHP-FPM?
Per la CLI no: rilegge la config a ogni chiamata. Solo se reinstalli il modulo per FPM serve riavviare PHP-FPM.
Questo sistema anche il cron?
Spesso sì. cron.php si interrompe con lo stesso messaggio e Nextcloud segnala job in background fermi.