SOS


 Ralf    28 Sept. 2011 : 23:15
 Keine    Das tägliche Einerlei

SOS

und das kann doch gar nicht sein, das waren vorhin meine ersten Gedanken. Wie jeden Abend wollte ich mit meinem Tablet die täglichen Zugriffe auf meine Homepage kontrollieren und sehe nur eine leere Piwik-Seite. Keine Besucher, keine Zugriffe per Suchmaschine, keine Übersicht der Provider, nada, nüscht. Schnell auf meine Seite direkt gewechselt und dort wurden mir Besuche angezeigt. Na gut, vielleicht ein Browserproblem bei dem Tablet, man kommt ja auf die verrücktesten Gedanken. Aber auch ein anderer Browser zeigte mir das selbe leere Ergebnis an. Und dann machte es Tick, Tick, Tick in meinem Kopf: Du hast doch letzte Nacht das Upgrade auf e107 07.26 gemacht, da muss ein Zusammenhang sein. Es folgte eine zweistündige Suche im e107-Code. Nun kann man php-Seiten, die auch noch generiert werden, nur schlecht debuggen cry. Der Grund für die fehlende Piwik-Protokollierung war schnell gefunden: Es wurden keine Meta-Daten generiert.

Aber warum bloß?! Die Meta-Daten an sich in der Admin-Oberfläche waren da. Wo in den tausenden von Code-Dateien von e107 werden die Metadaten aus der Datenbank geholt? Nach einem Code-Vergleich mit der Version 0.7.25, die ich als Backup noch hatte, war klar: In e107_themes/templates/header_default.php Beim Codereview in der Datei war mir auch rasch klar, dass das Problem in der Funktion "render_meta" zu suchen war. Wie oben geschrieben, debuggen direkt geht nicht in php, also wurden schrittweise echo-Zeilen ein- und ausgebaut. Irgendwann war es soweit und der Fehler eingekreist: Dort wird die Funktion "defset" verwendet, die aber nur bei Konstanten und nicht bei Variablen funktioniert. Also wurde die Funktion flugs durch "isset" ersetzt und seitdem rennt wieder alles smile.

Interessant übrigens, dass ich kurz nach meiner Fehlerbehebung im e107-Bugtracker fündig wurde: No Meta inserted in e107_admin/meta.php is working anymore. TOLL, ein bisschen zu spät dead. Aber als alter Coder, der anscheinend doch noch nicht alles vergessen hat, bin ich stolz, das Problem selber gelöst und gefixt zu haben,
Ralf