Das Wordpress Statistik Plugin “Cystats” setze ich in einigen Blogs ein, da es einen schnellen Blick auf aktuelle Zahlen (wie Referer, Visits etc.) ermöglicht. Es reicht nicht an den Funktionsumfang von Google Analytics heran, bietet aber im Gegensatz mehr an Aktualität.
Hier im Open Source Blog machte das Plugin allerdings Probleme, die sich in dieser Fehlermeldung auf der Cystats Seite im Wordpress Backend zeigten:
Warning: Invalid argument supplied for foreach() in /home/www/osblog/htdocs/wp-content/plugins/cystats/includes/view.class.php on line 645
Auch in den Logfiles des Apache schlug sich das Problem nieder – und diese waren auskunftsfreudiger bzw. etwas konkreter mit der Fehlerangabe. Unter vielen weiteren konnte man eindeutig sehen, was los ist: Es soll in nicht existente Tabellen geschrieben werden:
WordPress database error Table ‘osblogsql1.wp_TABLE_STATISTICS’ doesn’t exist for query INSERT INTO wp_TABLE_STATISTICS (name,type,val1,val2,val3) VALUES (‘visits_year’,'2′,’2009′,’0′,’1′) made by require, require_once, do_action, call_user_func_array, cystats_update_data, statistics->update
Dass die Tabellen auch auf Datenbankebene nicht zu sehen waren, brauche ich sicher nicht gesondert zu erwähnen
Leider verfügt Cystats über keinerlei Routinen zur Behandlung solcher Fehler, sodass man bei der Fehleranalyse etwas im Dunkeln stochert.
Es lag dann letztlich daran, dass der verwendete Datenbankuser einfach keine Tabellen anlegen durfte. Als ich ihm dieses Recht einräumte, legte Cystats dann bei der erneuten Aktivierung des Plugins die Tabellen automatisch an.
Leider scheint die Verbreitung von Cystats noch nicht allzu hoch zu sein – eine Google Recherche brachte diesen Lösungsweg nämlich leider nicht zu Tage.