MLF 2.4.99.1: Fehler bei B8-Spamfilter? (General)

by Taurec, Sunday, August 11, 2019, 06:23 (1719 days ago)

Hallo!

Ich habe bei mir die Version 2.4.99.1 in einem Testforum installiert.

B8-Spamschutz ist aktiviert, ebenso Akismet.

Wenn ich als Gast/unangemeldeter Benutzer einen Beitrag abschicken will, bekomme ich einen Datenbankfehler mit folgender Meldung:

"b8: Could not load class definition file for the storage base class"

Ist das ein allgemeiner Fehler oder liegt es womöglich an meiner Installation? :confused:
Da ich an meiner Version des Forums erheblich herummanipuliert habe, mußte ich die Änderungen der Version 2.4.99.1 alle manuell einpflegen durch Vergleich von 2.4.99.1 mit 2.4.20 in Notepad++ mit Compareplugin. Nicht auszuschließen, daß mir dabei irgendwo ein Fehler unterlaufen ist.

Gruß
Taurec

Avatar

Fehler bei B8-Spamfilter?

by Micha ⌂, Sunday, August 11, 2019, 07:25 (1719 days ago) @ Taurec

Hallo,

hast Du diese Struktur bei Dir vorliegen im Verzeichnis module/b8/?

Wenn nicht, bitte das Verzeichnis modules/b8 noch hochladen.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Tags:
B8, SPAM

Fehler bei B8-Spamfilter?

by Taurec, Sunday, August 11, 2019, 08:17 (1719 days ago) @ Micha

Hallo!

hast Du diese Struktur bei Dir vorliegen im Verzeichnis module/b8/?

Wenn nicht, bitte das Verzeichnis modules/b8 noch hochladen.

Das Verzeichnis war bereits vorhanden. Ich habe es dennoch nochmal hochgeladen. Nun bekomme ich die Fehlermeldung:

b8: Could not load class definition file for storage backend "dba"

Gruß
Taurec

Genereller Fehler

by Taurec, Sunday, August 11, 2019, 08:55 (1719 days ago) @ Taurec

Hallo!

Ich habe jetzt umständlich noch ein weiteres Testforum installiert, das keine meiner eigenen Codeänderungen enthält, siehe mein Testforum.

Auch dort bekomme ich bei aktiviertem Bayes-Spamfilter nach Abschicken eines Beitrages als Gast die Meldung:

b8: Could not load class definition file for the storage base class

Auch im Gelben Forum, wo der zuständige Techniker offenbar gerade auf Grundlage der Version 2.4.99.1 ein Nachfolgeforum einrichtet, tritt dieser Fehler auf.
Der Techniker hat deswegen dort die Beitragsberechtigung für Gäste deaktiviert.

Ich gehe also davon aus, daß es ein genereller Bug der Software ist.

P.S.: Da der Spamfilter in diesem Forum offenbar pauschal keine Beiträge mit URLs zuläßt, gebe ich die Links, die ich als Belege einbinden wollte, in Form von Bildern an. Viel Spaß!

Mein Testforum:
[image]

Der selbe Fehler im Gelben Forum:
[image]

Das gerade in Einrichtung befindliche Nachfolgeforum des Gelben Forums auf Basis von 2.4.99.1, in dem der Fehler ebenfalls eintritt:
[image]

Gruß
Taurec

Avatar

Fehler bei B8-Spamfilter?

by Micha ⌂, Sunday, August 11, 2019, 18:38 (1719 days ago) @ Taurec

Hi,

mein Problem ist, dass ich die von Dir installierte Version nicht so gut kenne. Bei mir läuft B8 problemlos. Hast Du eine config/b8_config.php und wenn ja, was steht dort drin? Wird diese Datei in der index.php im Hauptverzeichnis geladen via include?

Die Fehlermeldung deutet darauf hin, dass B8 bei Dir falsch (oder gar nicht) konfiguriert ist. Wir nutzen B8 mit MySQL und nicht mit DBA.

Viele Grüße
Micha

P.S. Ich kann das Problem frühstens Ende nächster Woche genauer ansehen. Hier schreibst Du, dass Du die Beitragsberechtigung für Gäste deaktiviert hast. Reicht es nicht, B8 einfach zu deaktivieren (bis wir das Problem gefunden und gelöst haben)?

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Fehler bei B8-Spamfilter?

by Taurec, Monday, August 12, 2019, 10:02 (1718 days ago) @ Micha

Hallo!

mein Problem ist, dass ich die von Dir installierte Version nicht so gut kenne. Bei mir läuft B8 problemlos. Hast Du eine config/b8_config.php und wenn ja, was steht dort drin? Wird diese Datei in der index.php im Hauptverzeichnis geladen via include?

Ich hatte die von Auge verlinkte 2.4.99.1 installiert, nicht die aktuellen Dateiversionen im Repositorium.
In meinem Testforum habe ich nun pauschal alle Dateien durch die aktuellen Versionen ersetzt (2.4.99.2 vom 12.8.2019 um 7:51 MEZ) und die Datenbanktabellen neu installiert, so daß jetzt alles den "Werkseinstellungen" entsprechen sollte. Eine config/b8_config.php ist vorhanden und sie wird in der index.php geladen.

Die Fehlermeldung deutet darauf hin, dass B8 bei Dir falsch (oder gar nicht) konfiguriert ist. Wir nutzen B8 mit MySQL und nicht mit DBA.

Der Fehler b8: Could not load class definition file for storage backend "dba" kommt mit den Standardeinstellungen immer noch.
Wenn ich in modules/b8/b8.php die Stelle 'storage'      => 'dba', ändere in 'storage'      => 'mysqli', sowie in der Datei modules/b8/storage/storage_mysqli.php im anfänglichen $config-Array meine Datenbankinfos (Datenbankname, Host, Nutzer, Paßwort) direkt eingebe (mit den Stellvertretervariablen funktioniert es nicht), dann kann ich mit aktiviertem Bayesfilter Gastbeiträge schreiben.
Ob der Filter auch funktioniert, bleibt auszutesten.

Hier schreibst Du, dass Du die Beitragsberechtigung für Gäste deaktiviert hast.

Nein, nicht ich. Es handelt sich um ein "befreundetes" Forum. Mit dem Technikadmin dort habe ich aber nichts zu tun. Ich habe es nur angeführt, weil dort unabhängig von meinen Wurschteleien der gleiche Fehler auftritt.

Reicht es nicht, B8 einfach zu deaktivieren (bis wir das Problem gefunden und gelöst haben)?

Solange die 2.5 nicht marktreif ist, werde ich die Version ohnehin nur als Testforum laufen lassen.

Gruß
Taurec

Avatar

Fehler bei B8-Spamfilter?

by Auge ⌂, Monday, August 12, 2019, 10:21 (1718 days ago) @ Taurec

Hallo

In meinem Testforum habe ich nun pauschal alle Dateien durch die aktuellen Versionen ersetzt (2.4.99.2 vom 12.8.2019 um 7:51 MEZ) und die Datenbanktabellen neu installiert, so daß jetzt alles den "Werkseinstellungen" entsprechen sollte. Eine config/b8_config.php ist vorhanden und sie wird in der index.php geladen.

Die Fehlermeldung deutet darauf hin, dass B8 bei Dir falsch (oder gar nicht) konfiguriert ist. Wir nutzen B8 mit MySQL und nicht mit DBA.


Der Fehler b8: Could not load class definition file for storage backend "dba" kommt mit den Standardeinstellungen immer noch.
Wenn ich in modules/b8/b8.php die Stelle 'storage'      => 'dba', ändere in 'storage'      => 'mysqli', sowie in der Datei modules/b8/storage/storage_mysqli.php im anfänglichen $config-Array meine Datenbankinfos (Datenbankname, Host, Nutzer, Paßwort) direkt eingebe (mit den Stellvertretervariablen funktioniert es nicht), dann kann ich mit aktiviertem Bayesfilter Gastbeiträge schreiben.

Das ist verwirrend. In der Datei config/b8_config.php ist die Direktive, die du in den Eingeweiden des Skripts händisch veränderst, in der richtigen Form gesetzt. Dort ist in Zeile #23 die Datenbankengine bereits als 'storage' => 'mysqli' angegeben.

Ob der Filter auch funktioniert, bleibt auszutesten.

In meinem eigenen Testforum funktioniert der Filter, wobei ich einschränkend sagen muss, dass ich dort als Alleinunterhalter nicht jede Funktion bis in jede Ecke hinein getestet habe.

Reicht es nicht, B8 einfach zu deaktivieren (bis wir das Problem gefunden und gelöst haben)?


Solange die 2.5 nicht marktreif ist, werde ich die Version ohnehin nur als Testforum laufen lassen.

Ich bitte darum. Die 2.4.99.x sind Testversionen für genau diesen einen Zweck, testen. Dass die vorhandene Konfiguration vom Skript (teilweise?) ignoriert wird, bestätigt den Bedarf an Tests. Danke für deine Mühen.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Avatar

Fehler bei B8-Spamfilter?

by Micha ⌂, Friday, August 16, 2019, 19:32 (1714 days ago) @ Taurec

Hallo,

ich habe gestern und heute verschiedene Szenarien durchprobiert. Zum einen ein Update von einer früheren Version auf 2.4.99.2 und zum anderen eine direkte Installation dieser Version. In beiden Fällen konnte ich die genannten Probleme nicht reproduzieren. B8 läuft ohne erkennbare Fehler.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Fehler bei B8-Spamfilter?

by Taurec, Saturday, August 17, 2019, 14:27 (1713 days ago) @ Micha

Hallo!

In Bezug hierauf im anderen Thread:

Die Probleme, die mit B8 kommuniziert wurden, kann ich nicht bestätigen. Ich kann als unregistrierter Nutzer schreiben und antworten, und erhaltet keine Fehlermeldung. Auch die DB-Tabellen werden gefüllt.


Mich hat das auch gewundert. Hat Taurec eventuell doch den Upload irgend eines Skripts vergessen? :confused:

Ja, sehr merkwürdig.

Ich habe jetzt nochmal alle Dateien, wie sie im Augenblick auf Github liegen, heruntergeladen (Clone or download ⇒ mylittleforum-master.zip) und unverändert auf meinem Server in den Ordner meines "Testforums" hochgeladen.
Das einzige, das ich angepaßt habe, waren die Logindaten für die Datenbank und die Tabellenpräfixe (bei mir "test_" statt "mlf2_") in der db_settings.php. Auch alle Datenbanktabellen sind vorhanden.
Der Fehler b8: Could not load class definition file for storage backend "dba" kommt dennoch!
Demnach sind zwar alle Skripte hochgeladen (auch keine "fehlgeschlagenen Übertragungen im FTP-Client), aber möglicherweise in der Ursprungsversion schon nicht richtig konfiguriert?

Ich habe mir mal das entsprechende Error-Logfile auf meinem Server angesehen. Geliefert wird folgende Meldung:
[image]

Ist das irgendwie hilfreich?

Gruß
Taurec

(P.S.: Da der Spamfilter hier meine Beiträge nicht zuläßt, sobald auch nur der Hauch einer URL enthalten ist, gibt es die Logdatei als Bild.)

Nachtrag: PHP-Version wohl Ursache

by Taurec, Saturday, August 17, 2019, 14:38 (1713 days ago) @ Taurec

Hallo!

Der Fehler kommt anscheinend durch die genutzte PHP-Version zustande.
Die von mir noch eingestellte PHP-Version 5.6.40 kommt offenbar mit dem B8-Skript nicht zurecht. Unter PHP 7 funktioniert es. Oder umgekehrt: Die neue Version 2.5 wird wohl mit aktiviertem B8-Filter unter PHP 5 nicht mehr ordentlich laufen.

Gruß
Taurec

Avatar

Nachtrag: PHP-Version wohl Ursache

by Micha ⌂, Saturday, August 17, 2019, 14:49 (1713 days ago) @ Taurec

Hallo,

Der Fehler kommt anscheinend durch die genutzte PHP-Version zustande.
Die von mir noch eingestellte PHP-Version 5.6.40 kommt offenbar mit dem B8-Skript nicht zurecht.

Das ist interessant. Laut offizieller Seite ist B8 unter PHP5 entwickelt worden. Um mit PHP7 kompatibel zu sein, wurde kürzlich lediglich die each() Anweisung entfernt. Selbiges haben wir auch für das Forum vor einiger Zeit durchgeführt. Ich habe leider keine 5er Version mehr am Laufen um es selbst zu testen. Vielleicht hat Auge hier noch eine Installation.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Nachtrag: PHP-Version wohl Ursache

by Taurec, Saturday, August 17, 2019, 14:58 (1713 days ago) @ Micha

Hallo!

Das ist interessant. Laut offizieller Seite ist B8 unter PHP5 entwickelt worden. Um mit PHP7 kompatibel zu sein, wurde kürzlich lediglich die each() Anweisung entfernt. Selbiges haben wir auch für das Forum vor einiger Zeit durchgeführt. Ich habe leider keine 5er Version mehr am Laufen um es selbst zu testen. Vielleicht hat Auge hier noch eine Installation.

Die Hunde sind vermutlich in den in meinem Logfile genannten Zeilen im Skript begraben. Unter PHP 7 werden diese Meldungen beim Absenden eines Beitrages im Logfile nicht mehr generiert. Auch der PHP-Mailer scheint unter PHP 5 Probleme zu machen (da habe ich noch nichts getestet).

Gruß
Taurec

Avatar

Nachtrag: PHP-Version wohl Ursache

by Micha ⌂, Saturday, August 17, 2019, 16:40 (1713 days ago) @ Taurec

Hallo,

oh, die andere Antwort hatte ich übersehen. In der PHP-Doku steht der Grund für die Warnung, d.h., Der Wert der Konstante. In PHP 5 muss value ein scalarer Wert (integer, float, string, boolean, oder NULL) sein. In PHP 7 werden ebenfalls array Werte akzeptiert.

Weder der Mailer noch B8 sind demnach das Problem sondern die beiden config-Files, die ich erzeugt habe. Hier werden Arrays definiert, was erst in PHP 7 zulässig ist.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Problem behoben

by Micha ⌂, Saturday, August 17, 2019, 17:38 (1713 days ago) @ Taurec

Hallo,

ich habe das Problem durch ein "normales" Array behoben und eingespielt. Wenn Du jetzt den Master ziehst, sollte es auch in PHP 5 gehen.

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Danke! Jetzt funktioniert es.

by Taurec, Saturday, August 17, 2019, 18:15 (1713 days ago) @ Micha

- No text -

Avatar

Nachtrag: PHP-Version wohl Ursache

by Alfie ⌂, Vienna, Austria, Saturday, August 17, 2019, 23:05 (1713 days ago) @ Micha

Hi,

ist ja inzwischen schon gelöst…
Nur zur Information: Bei mir unter 5.2.6 (!) ohne each() problemlos.

--
Cheers,
Alfie (Helmut Schütz)
BEBA-Forum (v1.8β)

Avatar

Nachtrag: PHP-Version wohl Ursache

by Micha ⌂, Sunday, August 18, 2019, 07:09 (1712 days ago) @ Alfie

Hi,

Danke für Deine Rückmeldung.

Nur zur Information: Bei mir unter 5.2.6 (!) ohne each() problemlos.

Das each() ist nicht das Problem sondern Konstruktionen wie

define(FOO, array(1,2,3))

. Diese sollten auch bei Dir nicht gehen, oder?

Viele Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Avatar

Nachtrag: PHP-Version wohl Ursache

by Alfie ⌂, Vienna, Austria, Sunday, August 18, 2019, 14:20 (1712 days ago) @ Micha

Hi,

Das each() ist nicht das Problem sondern Konstruktionen wie

define(FOO, array(1,2,3))

. Diese sollten auch bei Dir nicht gehen, oder?

Das nehme ich an. Bei mir zB:

    public $config = array(
        'min_size'      => 3,
        'max_size'      => 30,
        'allow_numbers' => false,
        'get_uris'      => true,
        'old_get_html'  => false,
        'get_html'      => true,
        'get_bbcode'    => true
    );

--
Cheers,
Alfie (Helmut Schütz)
BEBA-Forum (v1.8β)

RSS Feed of thread