Ich wollte mir gerade die Besucherstatistiken des letzten Monats angeschauen. Gesagt, getan. Einloggen ins Piwik Backend, den Monatsbereicht auswählen und dann staunen. Allerdings im negativen Sinne, denn die Monatsstatistiken konnten aufgrund eines Fatal Errors nicht generiert werden.

Keines der Widgits konnte die Daten korrekt laden und verarbeiten, geschweige denn anzeigen. Es trat dabei die folgende Fehlermeldung auf:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 90 bytes) in /www/htdocs/kundenid/dir/piwik/core/DataTable.php on line 571

Zum Generieren der Monatsstatistiken war also nicht genug Speicher vorhanden. Um das Problem zu beheben kann, muss man das memory_limit hochsetzen. Das memory_limit gibt an, wieviel Arbeitsspeicher PHP zur freien Verfügung bekommt.

Um das Limit hochzusetzen gibt es mehrere Möglichkeiten. Solltet ihr Zugriff auf die php.ini haben, so müsst ihr dort ein höheres Limit eintragen.

memory_limit = 256M;

Da ich bei meinem Webhoster All-Inkl(*) keinen Zugriff auf die php.ini habe, aber ich die Einstellung via .htaccess überschreiben kann, bietet sich die folgende Möglichkeit an das Limit hochzusetzen.

Legt dazu im root Verzeichnis eurer Domain eine .htaccess Datei an, falls diese noch nicht existiert. In die Datei fügt ihr dann folgende Zeile hinzu:

php_value memory_limit 256M

Anschließend die Datei einfach speichern und die Piwik-Statistiken neu laden. Schon solltet ihr das Fatal Error Problem nicht mehr haben.

In den Beispielen steht ein memory_limit von 256 MB, da in der Fehlermeldung versucht wurde ca. 130 MB zu adressieren. Daher ist davon auszugehen, dass im Vorfeld ein Limit von 128 MB oder noch weniger eingestellt war.

*Partnerlink