Nextcloud : Corrigier l'erreur Memcache \OC\Memcache\APCu not available for local cache
Avant de commencer à résoudre ce problème, il est important de comprendre ce que signifie cette erreur. Le message d'erreur "\OC\Memcache\APCu not available for local cache" signifie que Nextcloud n'a pas réussi à utiliser le cache local APCu, un système de mise en cache pour PHP.
Selon votre configuration, Nextcloud utilise un mécanisme de mise en cache pour améliorer ses performances. APCu est une extension PHP qui fournit un système de mise en cache pour les données stockées par votre application PHP. Si Nextcloud ne parvient pas à utiliser APCu, cela risque de générer un message d'erreur bloquant empêchant par exemple dans mon cas l'execution du cron système.
Etape 1 : Vérifier que l'extension PHP Apcu est installé
Si vous n'avez pas déjà installé APCu, vous pouvez le faire en utilisant le gestionnaire de packages PHP, Composer.
Voici les commandes à exécuter sur Ubuntu ou Debian :
sudo apt update
sudo apt install php-apcu
Cette commande mettra à jour le système et installera l'extension APCu. Vous devrez peut-être adapter la commande à votre version spécifique de PHP. Par exemple, si vous utilisez PHP 7.4, la commande serait sudo apt install php7.4-apcu
.
Etape 2 : Activer l'extension dans Php.ini CLI
Le fichier php.ini CLI (Command Line Interface) est la configuration PHP qui s'applique lorsque vous exécutez des scripts PHP en ligne de commande. Pour assurer le fonctionnement optimal de Nextcloud, il peut être nécessaire d'activer l'extension APCu dans ce fichier.
Ouvrez le fichier php.ini pour le CLI. Selon votre système, il se trouvera probablement dans un répertoire comme /etc/php/7.4/cli/php.ini
. Vous pouvez utiliser un éditeur de texte comme nano pour cela :
Attention, Remplacez 7.4 par votre version de PHP.
sudo nano /etc/php/7.4/cli/php.ini
Rajoutez la ligne suivante à la fin du fichier
apc.enable_cli = 1
Enregistrer puis quittez.
En mode CLI, pas besoin de redémarer les services pusique Php est éxecutez en ligne de commande.
Voila ! Normalement, après ces modifications votre erreur ne devrait plus apararaître.