RĂ©solu - Nextcloud 23 - fs_id_storage_size" manquant dans la table "oc_filecache"

Bonjour Ă  tous.

Je viens juste de mettre à jour Nextcloud en 23 et j’ai maintenant ce message:

"La base de donnĂ©es a quelques index manquants. L’ajout d’index dans de grandes tables peut prendre un certain temps. Elles ne sont donc pas ajoutĂ©es automatiquement. En exĂ©cutant “occ db:add-missing-indices”, ces index manquants pourront ĂȘtre ajoutĂ©s manuellement pendant que l’instance continue de tourner. Une fois les index ajoutĂ©s, les requĂȘtes sur ces tables sont gĂ©nĂ©ralement beaucoup plus rapides.

  • Index “fs_id_storage_size” manquant dans la table “oc_filecache”.
  • Index “fs_storage_path_prefix” manquant dans la table “oc_filecache”.

J’ai essayer : php occ db:add-missing-indices
La réponse est :
" An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?) "

Heu, je ne sais pas quoi faire et ne trouve pas d’information. Pouvez-vous m’aider svp?

Merci beaucoup.

Il faut faire la commande PHP en sudo avec l’utilisateur qui fait tourner ton apache/serveur Web ! Ton serveur Nextcloud tourne oĂč ? sur quoi ?

Merci de votre aide. Je viens de tester : “sudo -u bidulle php /var/www/nextcloud/occ db:add-missing-indices”

La rĂ©ponse reste : “An unhandled exception has been thrown:
OCP\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)”

Je suis sous lubuntu 20.10 et nginx 1.18.0.

Mais cette erreur ne vient pas de la commande occ mais d’une mauvaise config du cache APCu dans ton Nextcloud ! Ton NC tourne normalement cĂŽtĂ© utilisateur ? Il faut vĂ©rifier le fichier de config de Nextcloud dans /config/config.php pour voir si ton cache est bien configurĂ© par rapport Ă  ton systĂšme ! ParamĂštres > Vue d’ensemble dans NC avec un compte administrateur te dit que tout est ok ?
Une fois ce soucis corrigé qui déja permettra à ton NC de mieux fonctionner tu pourras relancer la commande occ pour voir ce que cela donne :wink:

C’est bien dans cette direction que je m’oriente: un problùme de APCu.

Coté utilisateur tout fonctionne sans souci.
La page “Vue d’ensemble” ne me donne plus que le message prĂ©-citĂ©" qui pour moi vient de mon APCu. Si je rĂšgle ce probleme un coup de occ et ce sera, comme tu dis, bon.

CotĂ© APCu, j’ai regardĂ© config.php de NC et j’ai ça:
‘memcache.local’ => ‘\OC\Memcache\APCu’,
‘memcache.locking’ => ‘\OC\Memcache\Redis’,
‘redis’ => array(
‘host’ => ‘localhost’,
‘port’ => 6379,

J’ai aussi essayĂ© ça :
‘memcache.local’ => ‘\OC\Memcache\APCu’,
‘memcache.locking’ => ‘\OC\Memcache\Redis’,

Sans succés !

Tu as regardĂ© cette page (Memory caching — Nextcloud latest Administration Manual latest documentation) qui te donne les diffĂ©rentes options et les Ă -cotĂ©s Ă  configurer pour aller avec ! Perso j’utilise APCu sur toutes les instances que j’hĂ©berge sans soucis :wink:

Excuse moi, mais de quel page parles tu?

J’ai suivi ce tuto et depuis plus d’an cela fonctionnait jusqu’à hier aprùs la mise à jour en 23.

J’ai en partie avancĂ©.

J’ai taper “sudo -u nextcloud php --define apc.enable_cli=1 /var/www/nextcloud/occ db:add-missing-indices”

Le message :

  • Index “fs_id_storage_size” manquant dans la table “oc_filecache”.
  • Index “fs_storage_path_prefix” manquant dans la table “oc_filecache”.
    a disparu.

Manifestement “–define apc.enable_cli=1” ou “apc.enable_cli=1” doit ĂȘtre mis quelque part.

Mais oĂč?

mea culpa lien ajouté dans le post je suis allé un peu vite :smiley:

Dans mon config.php (nextcloud), j’ai bien:
‘memcache.local’ => ‘\OC\Memcache\APCu’,
‘memcache.locking’ => ‘\OC\Memcache\Redis’,
‘redis’ =>
array (
‘host’ => ‘localhost’,
‘port’ => 6379,
),

et dans mon php.ini (\php\fpm et non \php\cli), j’ai bien mis tout à la fin apc.enable_cli=1.

Du coup ???

@Cyrill , question bĂȘte de ma part mais le paquet php-apcu est bien installĂ© ?

Bonsoir,

Je rencontre exactement le mĂȘme problĂšme.

Quand j’essaie d’installer le paquet php-apcu voici la rĂ©ponse :

Certains paquets ne peuvent ĂȘtre installĂ©s. Ceci peut signifier que vous avez demandĂ© l’impossible, ou bien, si vous utilisez la distribution unstable, que certains paquets n’ont pas encore Ă©tĂ© crĂ©Ă©s ou ne sont pas sortis d’Incoming.
L’information suivante devrait vous aider Ă  rĂ©soudre la situation :
Les paquets suivants contiennent des dépendances non satisfaites php-apcu : Dépend: phpapi-20180731 Recommande: php-apcu-bc mais ne sera pas installé
E: Impossible de corriger les problĂšmes, des paquets dĂ©fectueux sont en mode « garder en l’état ».

Bonjour,

Bonne question et oui php-apcu est bien installé. Une autre piste ?

Essayez de voir ce topic si il peut vous apporter des solutions : OCC won't run with memcache/apcu - #9 by andrimont

J’avais dĂ©jĂ  essayer en relançant le service php et nginx sans succĂšs.

J’ai rĂ©essayĂ© en redĂ©marrant complĂštement et c’est bon. Ca fonctionne !

La solution a donc Ă©tĂ© de mettre “apc.enable_cli=1” dans /etc/php/7.4/mods-available/apcu.ini.

Merci beaucoup Ă  tous.
CG

1 Like

Parfait et il faut bien effectivement que l’option soit activĂ©e dans PHP pour que cela marche :wink: tu as pu faire la commande OCC correctement alors pour mettre Ă  jour les db ?

Oui tout a fonctionné seulement aprÚs un redémarrage.
Merci beaucoup.