Comment corriger les erreurs « Impossible d’écrire dans le répertoire de mémoire cache » ou « Le répertoire matomo/tmp/cache/* » n’est pas accessible en écriture » ?
Il peut arriver que l’interface utilisateur de Matomo ne se charge pas et affiche un message d’erreur qui peut mentionner « Impossible d’écrire dans le répertoire cache » ou « Le répertoire tmp/cache/* n’est pas accessible en écriture ». Cette observation indique qu’il y a une petite erreur sur les permissions des dossiers et/ou des fichiers dans le répertoire de Matomo. Le message d’erreur complet pourrait être ‘Une erreur fatale s’est produite. L’erreur suivante vient d’accidenter Matomo (v3.10.0) : Une exception a été levée pendant le rendu d’un modèle « Impossible d’écrire dans le répertoire de mémoire cache »`.
Ces problèmes peuvent être résolus en configurant les bonnes permissions qui permettront aux processus de lire et d’écrire dans le dossier tmp/
.
Solution générale : si le nom d’utilisateur de votre serveur Web est www-data
alors vous pouvez faire en sorte que votre serveur Web possède les fichiers de ce répertoire (remplacez www-data
par le nom d’utilisateur du serveur Web, parfois appelé apache
) :
sudo chown -R www-data:www-data /var/www/html/matomo/tmp/*
Si votre serveur fonctionne sous SELinux ou CentOS, vous pouvez être en mesure de résoudre le problème avec les commandes suivantes :
chcon -t httpd_sys_content_rw_t /var/www/matomo/tmp
chcon -R -t httpd_sys_content_rw_t /var/www/matomo/tmp/tracker/
chcon -R -t httpd_sys_content_rw_t /var/www/matomo/tmp/cache
systemctl reload httpd.service
Si cette erreur continue à se produire, le problème peut venir du fait que la tâche planifiée (crontab) pour la commande console core:archive s’exécute et écrit ces fichiers en tant qu’utilisateur différent. Pour résoudre ce problème, vous devez modifier votre crontab pour que la commande core:archive
soit exécutée en tant qu’utilisateur du serveur Web, par exemple en tant que www-data
ou apache
. Voir le guide de l’utilisateur pour plus de détails.
Il a également parfois été utile de mettre à jour PHP pour utiliser une version récente de PHP.
Si vous rencontrez toujours ce problème après avoir suivi les étapes ci-dessus, veuillez nous contacter à matomo.org/contact et nous vous aiderons à résoudre le problème.