Es gab kürzlich ein Update für Matomo. Das hatte ich nun installiert. Und lief in einen blöden Fehler. Der DeviceDetector ist offenbar daran schuld gewesen. Dieses ganze Gewese hatte mich am Ende meiner Pause schon einiges an Nerven und Schweiß gekostet. Letztlich konnte ich den ganzen Unsinn aber lösen. Da ich weiß, dass auch andere Matomo als Analysewerkzeug in ihren Blogs verwenden, möchte ich mal eben etwas dazu erzählen.
Was zu Geier will Matomo mit dem DeviceDetector?
Ich habe also Matomo mit dem Update auf Version 3.14 versorgen wollen. Das Ganze ist ja ein webbasiertes Werkzeug zur Analyse von Seitenzugriffen und all dem, was Besucher auf einer Webseite so treiben. Es ist so weit mit Google Analytics oder auch Bing Analytics vergleichbar. Es gibt allerdings einen großen Unterschied. Und der ist nicht von der Hand zu weisen: Wenn ich es selbst installiere, werden die Daten dann ausschließlich bei mir gespeichert und nirgendwo sonst.
Jedenfalls kam am 20. Juli ein Update dafür heraus. Um es zu installieren, klickt man einfach auf den entsprechenden Button. Die Installationsroutine macht dann alles selbständig. So war es eigentlich immer. Außer dieses eine Mal. Das Update schlug fehl und spuckte die Fehlermeldung aus:
An error occured.
Entry „DeviceDetector\Cache\Cache“ cannot be resolved: the class is not instantiable. Full definition: Object ( class = #NOT INSTANTIABLE# DeviceDetector\Cache\Cache scope = singleton lazy = false )
Fehler beim Update von Matomo
Hhm, eine Klasse namens „DeviceDetector\Cache\Cache“ kann nicht zur Instanz gemacht werden. Kann das so sein? Ja, was zum Geier ist denn der DeviceDetector? Etwa die Funktion (oder so) in dem Tool, die mir anzeigt, mit welcher Art von Gerät die Besucher zu mir kommen? Und deren Cache – also Zwischenspeicher – kann keine Instanz werden? Shit, was ist denn hier passiert?
Versuch der einfachen Lösung
Jetzt bin ich ja so gestrickt, dass ich nicht gleich alles einreißen muss, nur weil ein Fehler aufgetreten ist. Laut Anbieter handelt es sich beim Device Detector Cache um einen Zwischenspeicher, in welchem Geräteklassen schon mal vorgehalten werden, damit es schneller geht, diese zu ermitteln. Im Internet ist Geschwindigkeit von enormer Wichtigkeit. Deshalb wird auch alles mögliche zwischengespeichert. Bei dem Fehler schien es sich nur um diesen zu drehen.
Bei GitHub wurde das Problem schon diskutiert. Allerdings traf die dortige Lösung nicht unbedingt bei mir zu. Außerdem habe ich gelesen, dass man via FTP im Stammordner des Tools in den Unterordner „config“ wechseln soll, um dort die „config.ini.php“ umzubenennen. Das würde dazu führen, dass Matomo ohne Datenverlust neu konfiguriert werden kann. Das geschah auch, aber es resultierte im schon bekannten Fehler. Eine andere Lösung musste her, um die DeviceDetector-Nummer zu lösen.
Neuinstallation von Matomo
Bevor ihr ins Schwitzen kommt, weil alle eure Daten verschwunden sein können: Beruhigt euch, das passiert schon nicht. Ich bin eigentlich ganz froh mit dem ganzen Geraffel. Und also habe ich folgendes gemacht:
- Download der aktuellen Version vom Anbieter selbst: Fazit
Ab und zu kann es notwendig werden, Tools wie Matomo neu zu installieren. Natürlich kann man auf ein Backup zurückgreifen, wenn man eins hat. Eigentlich geht es ja nicht ohne, oder? Was aber, wenn so ein blöder Fehler auftritt? Natürlich kann man erstmal die genannten Aspekte durchgehen:
- DOMAIN/matomo/config/global.php kontrollieren und ggf. von Hand aktualisieren
- DOMAIN/matomo/config/config.ini.php umbenennen und damit eine Neukonfiguration anstoßen
Aber wenn das nichts bringt, hilft meistens nur eine Neuinstallation. Ob nun der Matomo DeviceDetector Cache am Ende Schuld an der Geschichte war oder nur der Auslöser, kann ich nicht mit Bestimmtheit sagen. Ihr müsst aber nicht zwingend alles – inklusive Datenbank – neu aufsetzen. Das ist eben das Schöne, wenn Daten und Installation getrennt sind. Und vielleicht fällt in eurer Statistik nicht mal unbedingt auf, dass Matomo mal weg war. Wer weiß das schon?