Correction de l'avertissement Nextcloud « Le cache PHP OPcache n'est pas correctement configuré ».

Si Nextcloud signale « Le cache PHP OPcache n'est pas correctement configuré » , la solution n'est pas de copier-coller un long bloc de configuration trouvé sur un ancien forum. Commencez par identifier la limite ou le paramètre OPcache qui pose problème à Nextcloud, puis modifiez la configuration PHP réellement utilisée par votre serveur web.

Dans la documentation d'administration de Nextcloud 35, OPcache est considéré comme une couche de performance PHP essentielle. Nextcloud indique que son panneau d'administration affiche un avertissement lorsque la limite de taille d'OPcache dépasse 90 % de sa capacité allouée. Il exige également la conservation des commentaires du code mis en cache. La documentation PHP détaille les directives pertinentes et leurs valeurs par défaut. Ces informations vous permettent d'optimiser OPcache en toute sécurité : augmentez uniquement la ressource limitée, conservez les comportements requis activés et évitez les modifications susceptibles de compliquer les mises à jour, sauf raison impérieuse.

Vue d'ensemble de l'administration de Nextcloud montrant un avertissement de configuration PHP OPcache en haut de la page.
Cet avertissement doit être considéré comme un indice de diagnostic : identifiez la contrainte OPcache spécifique avant de modifier les limites de mémoire ou de nombre de fichiers.

Que signifie généralement l'avertissement OPcache de Nextcloud ?

OPcache stocke le bytecode PHP compilé en mémoire partagée, évitant ainsi à PHP de devoir analyser et compiler les mêmes fichiers d'application à chaque requête. Nextcloud présente cela comme une fonctionnalité améliorant les performances, et PHP intègre Zend OPcache depuis la version 5.5.

L'avertissement peut apparaître pour plusieurs raisons. Les cas les plus fréquents sont : la capacité d'OPcache est presque saturée, OPcache est désactivé pour l'API Web ou un comportement requis, comme la conservation des commentaires, a été modifié. Le guide de configuration actuel de Nextcloud indique qu'un avertissement de dimensionnement s'affiche lorsque la limite de taille d'OPcache dépasse 90 % de son allocation, et il l'exige explicitement opcache.save_comments = 1.

Références officielles : Guide de réglage du serveur Nextcloud et d’OPcache , notes de configuration PHP pour Nextcloud et configuration d’exécution PHP OPcache .

Choisissez la solution en fonction de l'avertissement, et non un blocage unique.

SituationMeilleure première modificationCompromis
La mémoire OPcache dépasse le seuil d'alerte de Nextcloud.Augmenter opcache.memory_consumptionmodérémentUtilise davantage de RAM partagée, mais réduit le renouvellement du cache.
Les cordes internes sont presque pleinesAugmenteropcache.interned_strings_bufferConsomme davantage de mémoire partagée ; augmenter les limites non liées n'apporte aucun avantage
Les emplacements de scripts/fichiers mis en cache sont presque pleins.Augmenteropcache.max_accelerated_filesUne table de hachage plus grande utilise plus de mémoire
OPcache est désactivéConfiguration opcache.enable=1PHP pour le WebNormal et recommandé pour Nextcloud ; vérifiez le SAPI correct
opcache.save_commentsétait désactivéEnsembleopcache.save_comments=1Il n'existe aucune raison valable, spécifique à Nextcloud, de désactiver cette fonctionnalité ; Nextcloud exige la conservation des commentaires.

PHP indique actuellement des valeurs par défaut de 128 Mo pour opcache.memory_consumption`<nom_du_serveur>`, 8 Mo pour opcache.interned_strings_buffer`<nom_du_serveur>` et 10 000 Mo pour ` opcache.max_accelerated_files<nom_du_serveur>`. Ces valeurs sont données à titre indicatif et ne constituent pas des cibles universelles pour Nextcloud. Un petit serveur personnel peut fonctionner correctement avec des valeurs proches de celles-ci, tandis qu'une installation plus importante avec de nombreuses applications peut nécessiter une marge de manœuvre plus importante.

Étape 1 : Vérifier quelle configuration PHP Nextcloud utilise réellement.

Cette étape permet d'éviter de nombreuses corrections infructueuses. Nextcloud indique que le serveur web et PHP en ligne de commande peuvent charger des fichiers de configuration différents. Sur les systèmes de type Debian et Ubuntu, les chemins courants incluent `/etc/php/config/php`, `/etc/php/config/php` /etc/php/<version>/fpm/php.iniet /etc/php/<version>/apache2/php.ini`/ etc/php/config/php` /etc/php/<version>/cli/php.ini.

Exécutez la commande php --inipour consulter la configuration de l'interface de ligne de commande (CLI), mais ne présumez pas qu'il s'agit du même fichier que celui utilisé par PHP-FPM ou Apache. Pour l'interface web SAPI, n'utilisez une phpinfo()page temporaire que si vous pouvez la protéger et la supprimer immédiatement, ou examinez la configuration de votre pool/service PHP-FPM et les fichiers de modules spécifiques à votre distribution.

Recommandation : si Nextcloud est exécuté derrière Nginx ou Apache avec PHP-FPM, modifiez la configuration OPcache de FPM. Si Apache utilise mod_php, modifiez sa configuration PHP. Veillez à ce que la configuration de l’interface de ligne de commande (CLI) reste cohérente lorsque les tâches en arrière-plan requièrent le même comportement, mais n’oubliez pas que l’avertissement du navigateur est généré par le chemin de la requête web.

Étape 2 : Modifiez le plus petit ensemble de directives OPcache qui résout le problème.

Éditeur de texte affichant un fichier de configuration OPcache avec les directives enable, memory, interned strings, accelerated files et save comments.
Modifiez la configuration OPcache utilisée par l'API Web. Augmentez uniquement la ressource limitée au lieu de copier aveuglément une valeur prédéfinie surdimensionnée.

Un exemple prudent pour un serveur modeste est présenté ci-dessous. Les valeurs numériques sont données à titre indicatif et ne constituent pas des garanties :

[opcache]
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.save_comments=1

Si Nextcloud indique que la mémoire OPcache est presque pleine, augmenter la mémoire de 128 Mo à 256 Mo peut constituer une modification progressive raisonnable si le serveur dispose de suffisamment de RAM libre. Si l'avertissement concerne plutôt les chaînes internées ou les scripts mis en cache, il est préférable d'augmenter la limite de ces éléments plutôt que la mémoire seule. Sur un VPS aux ressources mémoire limitées, passer directement à 512 Mo risque de réduire la RAM disponible pour les processus PHP-FPM, la base de données, Redis et le système d'exploitation.

Qu’en est-il des paramètres de revalidation ?

Le guide d'optimisation actuel de Nextcloud indique que PHP vérifie par défaut les modifications apportées aux scripts mis en cache toutes les deux secondes, et ne recommande pas de modifier ce comportement par défaut pour tous les utilisateurs. Augmenter la fréquence opcache.revalidate_freqde vérification peut réduire le nombre de vérifications du système de fichiers, mais cela a un impact sur les performances : les mises à jour et les modifications apportées aux applications config.phppeuvent prendre plus de temps avant d'être visibles. Désactiver complètement la validation de l'horodatage est une solution plus radicale et peut laisser du code ancien actif jusqu'à ce que l'OPcache soit vidé manuellement ou que PHP soit redémarré.

Pour la plupart des administrateurs qui cherchent simplement à supprimer l'avertissement, il est conseillé de laisser le système fonctionner normalement opcache.validate_timestamps, opcache.revalidate_freqsauf s'ils comprennent le processus de déploiement. Nextcloud signale spécifiquement que des comportements inhabituels après les mises à niveau peuvent être dus à du code mis en cache obsolète suite à une modification de la revalidation.

Étape 3 : Redémarrez le service PHP approprié

Après avoir modifié un fichier INI, redémarrez ou rechargez le processus PHP qui héberge Nextcloud. Par exemple, systemctl restart php8.2-fpmpour PHP-FPM ou Apache lorsque mod_php est utilisé, redémarrez-le. Remplacez la version et le nom du service par ceux utilisés par votre système.

Cela est d'autant plus important si vous avez modifié le comportement de revalidation. Le redémarrage du service approprié garantit le chargement de la nouvelle configuration OPcache et lève toute ambiguïté concernant le bytecode obsolète.

Étape 4 : Vérifiez les valeurs, mais vérifiez également l’API Web.

Terminal affichant la sortie des commandes php --ini et php -i OPcache avec l'état activé et les valeurs de configuration clés.
Les vérifications en ligne de commande sont utiles pour trouver les fichiers INI et confirmer la syntaxe, mais l'interface SAPI Web peut charger une configuration différente.

Voici quelques vérifications utiles en ligne de commande :

php --ini
php -i | grep -i opcache

Ces commandes permettent de confirmer que PHP reconnaît les directives, mais elles ne valident que la configuration de l'interface de ligne de commande (CLI). Si l'avertissement Nextcloud persiste, comparez la configuration chargée de l'API web avec le résultat de la CLI. Ceci est particulièrement important sur les systèmes qui gèrent des arborescences cliINI distinctes .fpmapache2

Étape 5 : Revérifier Administration > Vue d’ensemble

Vue d'ensemble de l'administration de Nextcloud sans l'avertissement OPcache et avec les indicateurs d'état système normaux.
Après avoir rechargé PHP, actualisez Administration > Vue d'ensemble. L'avertissement OPcache devrait disparaître une fois que l'API Web utilise les limites et les paramètres requis.

Après le redémarrage du service PHP, actualisez la vue d'ensemble de l'administration Nextcloud. Si l'avertissement disparaît, la configuration est correctement prise en compte par l'API SAPI appropriée et le seuil signalé n'est plus dépassé.

Si le problème persiste, n'augmentez pas les valeurs de manière aléatoire. Vérifiez successivement les quatre points suivants : si vous avez modifié le bon fichier INI, si un autre fichier INI chargé ultérieurement remplace votre paramètre, si le service PHP concerné a été redémarré et si l'avertissement fait référence à une ressource OPcache différente de celle que vous avez modifiée.

Quelle quantité de mémoire OPcache devez-vous allouer ?

Il n'existe pas de valeur optimale unique. L'objectif est de disposer d'une marge suffisante pour que le cache ne soit pas constamment saturé, sans pour autant pénaliser le reste de l'infrastructure. Pour un petit VPS, il est conseillé de commencer par une valeur prudente et de surveiller la consommation de mémoire. Pour une instance hébergeant de nombreuses applications ou une empreinte mémoire PHP importante, 256 Mo, voire plus, peuvent se justifier si l'utilisation réelle d'OPcache révèle que 128 Mo sont insuffisants. Sur un serveur de grande capacité, le dimensionnement de la mémoire doit être envisagé en tenant compte du nombre de processus PHP-FPM et des autres services partagés.

La comparaison pratique est simple : une plus grande quantité de mémoire OPcache réduit les évictions de cache et les recompilations, tandis qu’une quantité moindre libère de la RAM pour les processus PHP et les bases de données exécutés simultanément. Choisissez en fonction de votre utilisation et des alertes de Nextcloud, et non en fonction de la capacité maximale de votre serveur.

Erreurs courantes qui font que l'avertissement persiste

  • Modification du PHP en ligne de commande uniquement : le navigateur utilise toujours PHP-FPM ou mod_php.
  • Augmenter la mauvaise limite : plus de mémoire ne résout pas le problème d’une table de fichiers accélérés pleine.
  • Oublier le redémarrage : le processus PHP en cours d’exécution peut encore contenir les anciennes valeurs INI.
  • Désactivationopcache.save_comments : Nextcloud exige que les commentaires soient conservés.
  • Copie d'extraits de réglages obsolètes : les anciens guides peuvent recommander des paramètres de revalidation agressifs susceptibles de créer des problèmes de mise à niveau.

Approche recommandée par type de serveur

Petit serveur Nextcloud personnel : conservez les paramètres de revalidation par défaut, préservez les commentaires et n’augmentez la limite que lorsqu’elle dépasse réellement le seuil. Cela minimise la consommation de RAM et les risques d’incidents.

Serveur multi-utilisateurs très sollicité : surveillez la consommation d’OPcache et prévoyez une marge de sécurité supplémentaire aux endroits où l’alerte d’administration indique une forte pression. Coordonnez la mémoire OPcache avec le dimensionnement des workers PHP-FPM afin d’éviter qu’une optimisation n’entraîne une saturation de la mémoire système.

Hébergement géré ou image conteneur : il convient d’identifier au préalable les paramètres PHP à modifier. La modification d’un fichier dans un conteneur éphémère peut entraîner sa disparition après un redéploiement, tandis que le fournisseur peut exposer des valeurs INI personnalisées via son panneau de contrôle ou la configuration de l’environnement.

Vérification finale

Une solution correcte comporte trois éléments : le processus PHP web de Nextcloud doit avoir OPcache activé, le comportement requis doit opcache.save_comments=1être préservé et la ressource OPcache concernée, qui était presque saturée, doit désormais disposer d'une marge suffisante. Une fois ces conditions remplies et PHP rechargé, l'avertissement devrait disparaître sans nécessiter d'allocations de mémoire excessives ni de modifications risquées de la validation du cache.

Laisser un commentaire

Les 10 meilleurs outils de balayage ping pour trouver les appareils sur votre réseau

Les 10 meilleurs outils de balayage ping pour trouver les appareils sur votre réseau

Comparez 10 outils de balayage ping pour une découverte rapide du réseau local, une analyse multiplateforme et la gestion des adresses IP. Découvrez ce qu'un balayage peut – et ne peut pas – vous révéler.

6 outils de gestion de réseau performants pour le suivi des performances

6 outils de gestion de réseau performants pour le suivi des performances

Comparez six outils de gestion de réseau pour la surveillance des performances, notamment la couverture SNMP, la cartographie, les alertes, les modèles de déploiement et les compromis en matière de coûts.

Moniteur de ping : 7 outils gratuits et open source pour la disponibilité du réseau

Moniteur de ping : 7 outils gratuits et open source pour la disponibilité du réseau

Comparez sept moniteurs de ping gratuits et open source, allant des suites réseau complètes aux sondes de latence ciblées, et choisissez celui qui convient le mieux à vos besoins en matière de disponibilité, de perte de paquets et d'historique.

Meilleurs analyseurs Wi-Fi pour Windows, iOS et Android

Meilleurs analyseurs Wi-Fi pour Windows, iOS et Android

Comparez les meilleurs analyseurs Wi-Fi pour Windows, iPhone et Android, incluant des outils pour la congestion des canaux, la couverture du signal, les cartes thermiques et le dépannage réseau.

La qualité de service (QoS) dans les réseaux : définition et fonctionnement

La qualité de service (QoS) dans les réseaux : définition et fonctionnement

Découvrez ce que signifie la QoS dans le domaine des réseaux, comment les marquages ​​DSCP et les files d'attente de trafic priorisent la voix, la vidéo et les applications professionnelles, et ce que la QoS ne peut pas corriger.

Meilleur logiciel serveur SFTP pour les transferts de fichiers sécurisés

Meilleur logiciel serveur SFTP pour les transferts de fichiers sécurisés

Comparez les logiciels serveurs SFTP fiables pour Windows et Linux, notamment OpenSSH, Bitvise, SolarWinds et SFTPGo. Trouvez la solution idéale pour vos besoins en matière de sécurité et de transfert de fichiers.

Les 7 meilleurs outils de gestion d'adresses IP pour les équipes réseau

Les 7 meilleurs outils de gestion d'adresses IP pour les équipes réseau

Comparez sept outils de gestion d'adresses IP pour la découverte de sous-réseaux, la coordination DNS et DHCP, l'inventaire réseau et l'IPAM open source.

Bonnes pratiques de surveillance réseau : que surveiller et quels outils utiliser

Bonnes pratiques de surveillance réseau : que surveiller et quels outils utiliser

Mettez en place une surveillance réseau pratique avec une couverture claire des périphériques, des indicateurs de performance utiles, des alertes exploitables et une comparaison de SolarWinds NPM, PRTG et OpManager.

Les 10 meilleurs outils d'analyse réseau pour la découverte des périphériques et des adresses IP

Les 10 meilleurs outils d'analyse réseau pour la découverte des périphériques et des adresses IP

Comparez les outils d'analyse réseau pour la découverte rapide des périphériques, les analyses IP multiplateformes et la gestion des identités et des accès IP (IPAM) d'entreprise, avec des conseils pour adapter chaque option à votre réseau.

Comment utiliser Nmap pour traceroute et lire le chemin réseau

Comment utiliser Nmap pour traceroute et lire le chemin réseau

Utilisez l'option --traceroute de Nmap pour associer les sauts à un hôte autorisé, comprendre les résultats des sauts et du RTT, et résoudre les problèmes de réponses manquantes sans sur-analyse.