Eigentlich wollte ich dazu gar nichts schreiben, aber nun habe ich gesehen, daß einige Leute dieselbe Fehlermeldung, die auch ich neulich von FireStats vorgesetzt bekam, bei Google eingegeben haben:
Wrong parameter count for debug_backtrace()
Offensichtlich hat Google genau zu dem Zeitpunkt das letzte mal meine Seite durchkämmt, als sie gerade von eben dieser unschönen Fehlermeldung übersät war, und dadurch landeten wohl einige Suchende hier – die dann vermutlich gleich wieder abzogen, weil hier ja in Wirklichkeit gar nichts zu dem Thema zu finden war. :)
Um zukünftige Gäste also nicht zu enttäuschen, will ich schnell erklären, wie ich den Fehler wieder losgeworden bin.
Ganz am Ende der Datei firestats/php/utils.php
befindet sich folgende Funktion:
function fs_called_by($function)
{
$bt = debug_backtrace(false);
for($i = count($bt)-1;$i >= 0;$i--)
{
$frame = $bt[$i];
if ($frame['function'] == $function) return true;
}
return false;
}
Die Funktion debug_backtrace()
hatte ursprünglich gar keine Parameter. Erst seit PHP 5.2.5 ist es möglich, der Funktion einen Boolean-Wert, also true
oder false
, zu übergeben:“debug_backtrace(php.net)“:http://www.php.net/manual/de/function.debug-backtrace.php . Wenn man nun aber auf seinem Server ein älteres PHP laufen hat als Version 5.2.5 – was heutzutage durchaus noch oft vorkommt – dann kennt er natürlich nur eine Funktion debug_backtrace()
ohne Parameter. Und deshalb streikt er dann auch, wenn FireStats versucht, der Funktion einen Wert zu übergeben.
Die Lösung ist simpel, man muß den Parameter einfach löschen – ich weiß gar nicht, warum er da überhaupt steht, er wird ja sowieso nicht gebraucht. Also einfach Zeile 1042 ändern in:
$bt = debug_backtrace();
Eine Antwort zu “Schönheitsfehler im WordPress-Plugin „FireStats“”
Thank you!!!
I have upgraded FireStats this night and this error message confused me, but yours post was very helpful.