WBCE CMS – Way Better Content Editing.
You are not logged in.
Pages: 1
Ich habe hier eine Installation mit immer wieder diesem Eintrag im errorlog:
2020-01-26T10:23:49+00:00 [Notice] /modules/outputfilter_dashboard/functions.php:[1168] from /modules/outputfilter_dashboard/functions.php:[1686] opf_preload_filter_definitions "unserialize(): Error at offset 396 of 398 bytes"
Was bedeutet das? Wodurch wird das verursacht?
(WBCE 1.4.2beta, PHP 7.2.26)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
in der Funktion opf_preload_filter_definitions werden die Outputfilter aus der Datenbank in eine globale Variable geladen, damit sie schneller zugreifbar sind und nicht für jeden Filteraufruf ein Datenbankzugriff notwendig ist. Ein Filter beinhaltet alle Einstellungen, die man im Backend machen kann. Diese Werte sind teilweise als Array möglich, die eventuell auch mehrsprachig als Array hinterlegt sein können (Description, Helppath usw.). Diese Arrays werden serialisiert und beim laden wieder unserialized. Wenn der jeweilige Eintrag nicht als mehrsprachiges Array angelegt ist, dann wird wahrscheinlich diese Notice ausgegeben. Müsste man aber mal in der Datenbanktabelle vom Outputfilter Dashboard nachschauen, welche Werte dort serialisert abgelegt sind und welche vielleicht nicht und ob die Längen vom jeweiligen Eintrag mit den Angaben in der Notice zusammenpassen.
Offline
Okay, danke, das hat mir etwas weitergeholfen. Es hängt wohl irgendwie mit der Beschreibung zum Filter Correct Date Format zusammen. Ich habs jetzt aber nur durch brachiales Deinstallieren und Neuinstallieren des OPF-Dashboard-Moduls fixen können.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Vielleicht hätte es schon geholfen, den Correct Date Format Filter zu deinstallieren und wieder neu zu installieren. Es kann sein, dass da irgendwann mal ein Bug beim Serialisieren und Escapen drin war, und dessen Auswirkung bei der Installation des Filters hat dann in deiner Datenbank weiter gelebt. Das war eine ältere Installation, die nach und nach aktualisiert wurde, oder? Sonst könnte ich mir nicht so recht erklären, warum die Neuinstallation des Opf Dashboard das Problem behoben hat.
Offline
Löschen ging nicht, beim Klicken auf das Lösch-Icon ist nichts passiert (auch kein JS-Fehler).
Ich vermute übrigens, das Problem sind die " und/oder ' in der Filterbeschreibung.
Die Seite, bei der das Problem auftrat, hatte ich von WB 2.8.1 direkt auf WBCE 1.4.2 migriert. Da gab es dann auch die üblichen Zeichensatzprobleme.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Wenn beim Klick nix passiert, dann hat sich wohl das JavaScript verhakt (vermutlich weil mit dem Quoting) was durcheinander gekommen ist.
In dem Fall kann es helfen, browserseitig JS abzuschalten. Manche Features wie Drag&Drop gehen dann natürlich nicht mehr, aber die Grundfunktionen müssten auch ohne JS noch funktionieren - in dem Fall vielleicht sogar besser als mit. Ich muss aber auch zugeben, dass ich diesen Modus nicht regelmäßig teste.
Offline
Ich hab da auch so ein Ärgernis, müllt mir in irrem Tempo das Error-Log zu:
2020-02-24T16:51:23+00:00 [Notice] /modules/outputfilter_dashboard/functions.php:[1168] from /modules/outputfilter_dashboard/functions.php:[1686] opf_preload_filter_definitions "unserialize(): Error at offset 396 of 401 bytes
Passiert bei einer Website, die ich gerade von WB 2.8.1 geupdatet habe..
Die Brachialmethode - bitte beachten, dabei gehen ggf. bereits vorgenommene Filteranpassungen verloren:
1) In der /modules/outputfilter_dashboard/info.php die Zeile
$module_level = 'core';
entfernen
2) OPF Dashboard über Erweiterungen > Module deinstallieren
3) outputfilter_dashboard.zip hier aus dem Anhang runterladen und über Erweiterungen > Module wieder installieren
Ich hatte auch schon mal versucht, das an dem correct_date-Filter zu fixen, das hatte aber nichts gebracht.
Das Problem tritt so weit ich sehe nur bei Migrationen auf.
Last edited by florian (24.01.2023 13:00:39)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Möglicherweise kann ich NOCH brachialer:
outputfilter_dashboard/functions.php, Zeile 1168:
@ $filter['desc'] = unserialize($filter['desc']);
Was das ist und tut weiß ich nicht, aber es sieht viel hübscher aus.
EDIT:
Da ist das gleiche nochmal, passiert aber viel seltener:
/modules/outputfilter_dashboard/tool.php Zeile 245
@ $filter['desc'] = unserialize($filter['desc']);
Auch hier hilft das vorangestellte @ gegen error log Überlauf
Last edited by boeseroeser (25.02.2020 00:24:53)
@ $filter['desc'] = unserialize($filter['desc']);
Was das ist und tut weiß ich nicht, aber es sieht viel hübscher aus.
@ unterdrückt Fehler. Sollte man normalerweise meiden, eine saubere Behandlung via try...catch wäre besser, aber letztlich würde die wohl auch im Log landen. *Eigentlich* müßte man herausfinden, warum die serialisierten Daten überhaupt kaputt sind, denn durch die Fehlerunterdrückung ist $filter['desc'] im Anschluß leer. (Edit: Genau genommen ist es natürlich durch den Fehler leer, die Fehlerunterdrückung indes verhindert, dass man davon erfährt.) Ob das Folgen hat, kann ich nicht bewerten.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline
Die Filterbeschreibungen können mehrsprachig sein. Je nach Backend-Sprache wird der passende übersetzte Text angezeigt.
Die Überlegung weiter oben im Thread war, dass wohl bei der Konvertierung älterer Datenbankeinträge etwas mit dem Quoting durcheinander gekommen ist und der serialisierte Eintrag dann nicht mehr entpacken lässt.
Wenn man den Fehler beim Entpacken unterdrückt, ist halt hinterher das Beschreibungsfeld leer. Das ist an der Stelle kein Beinbruch. Ich nehm mir vor, dass ich den Fehler künftig besser abfange.
Weniger brachial wäre es, den betreffenden FIlter zu exportieren, ihn dann zu löschen und wieder frisch zu importieren. Besser wäre es natürlich, wenn wir gar nicht in diesen Fehler reinlaufen würden, aber dazu müsste man herausfinden was genau die serialisierten Daten kaputt macht.
Offline
(mobile)
Bei diese Site, Update von wb2.8.1, ist viel schief gegangen. Ich hab's in der Zwischenzeit von hinten aufgezäumt, jetzt geht's besser.
Pages: 1