Seite 1 von 1

Fehlermeldung 4.8.20

Verfasst: Do 10. Dez 2015, 18:28
von lunsen_de
Hallo,

nach einem Upgrade von 4.8.19 auf 4.8.20 erscheint folgende Fehlermeldung in der Errorlog (ich denke nach Aufruf CONTENT - LINKCHECKER):

Code: Alles auswählen

[10-Dec-2015 18:17:33 Europe/Berlin] PHP Deprecated:  Non-static method PEAR::raiseError() should not be called statically, assuming $this from incompatible context in /homepages/7/kundennummer/htdocs/pear/Cache/Lite.php on line 538
An der Stelle in der Lite.php steht (538 ist return PEAR.....):

Code: Alles auswählen

    function raiseError($msg, $code)
    {
        include_once('PEAR.php');
        return PEAR::raiseError($msg, $code, $this->_pearErrorMode);
    }
Die Datei ist bei 4.8.19 und 4.8.20 absolut identisch.

Account ist bei 1und1.

Kann jemand helfen?

Grtunß Lunsen_de

Re: Fehlermeldung 4.8.20

Verfasst: Fr 11. Dez 2015, 11:47
von rethus
Es ist "nur, eine deprecated Meldung, sollte demnach keinen Fehler erzeugen. Haut es dir im Frontend unschöne Error-Messages dazwischen, kannst du das Error-Logging entsprechend anpassen, indem du E-Strict und E-Deprecated Meldungen nicht angezeigen lässt (in der php.ini oder in contenido/includes/config.misc.php)

Die Meldung besagt, dass du die Methode raiseError() nicht mehr statisch aufrufen kannst - also via PEAR::raiseError.
Dieser Fehler ist aber im eigentlichen Sinne kein Contenido-Fehler, sondern bei PEAR selbst nicht unbekannt: http://pear.php.net/bugs/bug.php?id=18398

Du kannst nun das Error-Reporting dahingehend ändern, dass E-Strict und E-Deprecated Meldungen nicht angezeigt werden.

Möchtest du im PEAR-Core rumhacken, könntest du versuchen an besagter Stelle zuvor ein PEAR-Objekt zu instanziieren und dann die Methode darauf aufrufst:

Code: Alles auswählen

        include_once('PEAR.php');
        $p = new PEAR;
        return PEAR->raiseError($msg, $code, $this->_pearErrorMode);

Re: Fehlermeldung 4.8.20

Verfasst: Fr 11. Dez 2015, 13:11
von Zuschauer
rethus hat geschrieben:

Code: Alles auswählen

        include_once('PEAR.php');
        $p = new PEAR;
        return PEAR->raiseError($msg, $code, $this->_pearErrorMode);
Der Code ist falsch, in der letzten Zeile sollte noch PEAR durch $p ersetzt werden.

Gruß
Zuschauer

Re: Fehlermeldung 4.8.20

Verfasst: Fr 11. Dez 2015, 16:53
von rethus
Jep, hast recht. Hatte es nur schnell zusammengehackt. Danke für die Verbesserung.