Piwik 1.7 Fehler bei "Alle Webseiten"

geschrieben von toitoit 

Erweiterte Suche
toitoit [ # ]
16. Februar 2012 08:30
Hallo,

ich habe mit der neusten Version nun das Problem, wenn ich die Statistikübersicht eines Tages von eienr Webseite offen hab und auf "Alle Webseiten" klicke, einen Fehler bekomme.

Url: index.php?module=MultiSites&action=index&idSite=1&period=day&date=yesterday

"Das Datumsformat muss YYYY-MM-DD, or 'today' or 'yesterday' oder eine andere, von der Funktion strtotime unterstützte Zeichenkette sein. (Besuchen Sie http://php.net/strtotime für nähere Informationen)"

#0 /var/www/vhosts/*/httpdocs/st/core/Archive.php(228): Piwik_Date::factory('Object id #175')
#1 /var/www/vhosts/*/httpdocs/st/core/Archive/Array/IndexedBySite.php(36): Piwik_Archive::build('1', 'day', 'Object id #175', Object(Piwik_Segment))
#2 /var/www/vhosts/*/httpdocs/st/core/Archive.php(199): Piwik_Archive_Array_IndexedBySite->__construct(Array, 'day', 'Object id #175', Object(Piwik_Segment))
#3 /var/www/vhosts/*/httpdocs/st/plugins/MultiSites/API.php(136): Piwik_Archive::build('all', 'day', 'Object id #175', false)
#4 /var/www/vhosts/*/httpdocs/st/plugins/MultiSites/Controller.php(58): Piwik_MultiSites_API->getAll('day', '2012-02-15', false)
#5 /var/www/vhosts/*/httpdocs/st/plugins/MultiSites/Controller.php(36): Piwik_MultiSites_Controller->getSitesInfo()
#6 [internal function]: Piwik_MultiSites_Controller->index()
#7 /var/www/vhosts/*/httpdocs/st/core/FrontController.php(138): call_user_func_array(Array, Array)
#8 /var/www/vhosts/*/httpdocs/st/index.php(53): Piwik_FrontController->dispatch()
#9 {main}

Ich kann somit nicht mehr so ohne weiteres auf die Übersicht aller Webseiten wechseln.
Hat jemand ein ähnliches Problem oder gar eine Lösung?

Gruß



1-mal bearbeitet. Zuletzt am 16.02.12 08:32.
17. Februar 2012 11:23
Wenn ich das richtig sehe ist im Plugin MultiSites in der Datei API.php ein Fehler in Zeile 133 (plugins/MultiSites/API.php)

$strLastDate = (string)Piwik_Period_Range::removePeriod($period, Piwik_Date::factory($date), $n = 1);
Es handelt sich hier um ein Objekt, dass man nicht als String umwandeln kann.
Nimmt man den String weg funktioniert alles.
$strLastDate = Piwik_Period_Range::removePeriod($period, Piwik_Date::factory($date), $n = 1);
toitoit [ # ]
17. Februar 2012 14:19
Mhn, so wies aussieht wird aber ein String erwartet. Wer weiß wie es sich auf nachfolgende Anweisungen auswirkt. Ich hab es aufjedenfall mal reported, mal schaun was kommt ...

Ticket:
[dev.piwik.org]

Hast du auch diesen Fehler?



1-mal bearbeitet. Zuletzt am 17.02.12 14:20.
17. Februar 2012 14:45
Es wird zwar ein String erwartet, aber man kann nicht das Object in einen String umwandeln. Das was man dann bekommt in ein String der sagt "Object ID # 186".

Ich hatte den Fehler und ich habe genau diese Änderung vorgenommen. Danach ist der Fehler verschwunden.

Auch wenn ich hier neu bin, aber das ist der Fehler und an dieser Stelle die Lösung.
17. Februar 2012 22:04
Hallo,

ist eine PHP-Version <5.2 im Einsatz? Hier wäre das Problem, dass der (string)-Typecast nicht die magische __toString()-Methode aufruft. Das machen nur echo und printf, etc.

Falls das der Fall ist, bitte einmal Zeile 133 der /plugins/MultiSites/API.php durch folgenden Code ersetzen:

$strLastDate = Piwik_Period_Range::removePeriod($period, Piwik_Date::factory($date), $n = 1)->toString();

Und dann bitte berichten, was passiert.

Peter
18. Februar 2012 15:41
Die PHP-Version ist bei mir tatsächlich 5.1.6

Wenn ich den Code entsprechend ändere funktioniert alles bestens.
18. Februar 2012 16:22
Änderung ist eingecheckt und muss dann in der nächsten Version nicht mehr von Hand geändert werden, Piwik dev.
toitoit [ # ]
20. Februar 2012 07:28
Danke, funktioniert perferkt.
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen

Free Forum support is provided by the Piwik Community. If you require any urgent or professional help, contact Piwik Professional Services team!