Deutsch English
WordPress Read this post in English

Schönheitsfehler im WordPress-Plugin „FireStats“

FireStats

FireStats

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:

1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
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[1] . 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:

1042
$bt = debug_backtrace();
Links:
  1. debug_backtrace  – php.net


Kommentare

  1. 10. Januar 2009
    1:02 Uhr

    Bozho flag

    Thank you!!!

    I have upgraded FireStats this night and this error message confused me, but yours post was very helpful.

Kommentieren

Erlaubtes HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <p> <pre lang="" line="" escaped=""> <q cite=""> <strike> <strong> <img src="" alt="" class="" width="" height=""> | Codeschnipsel können in `backticks` gepostet werden. Beispiel: `<?php echo "Hi!"; ?>`