Hallo,
das Plugin funktioniert unter PHP 8.1 und 8.2 auch nicht. Sobald man es Installiert ist der Blog nicht mehr zu erreichen.
mfg refi
Karma unter PHP 8.2
Karma unter PHP 8.2
Das Leben ist ein scheiss Spiel! Nur die Grafik ist geil!
Re: Karma unter PHP 8.2
Hi refi
Das Plugin muss in einem komischen Zustand sein. Ich glaube, wir können es reparieren. Probiere bitte folgendes: Editiere die Datei plugins/serendipity_event_karma/serendipity_event_karma.php und gehe zu Zeile 419. Da steht folgender Code:
Ersetze ihn bitte hiermit:
Der Unterschied ist das IF NOT EXISTS. Damit, weil bei dir die Tabelle schon zu existieren scheint, sollte zumindest dieser Teil des Plugincodes wieder funktionieren.
Wahrscheinlich existiert der Index auch schon, der danach erstellt wird, aber ich weiß nicht ob das auch einen Fehler werfen würde. Der Fix dafür wäre schwieriger, zumindest mit MySQL, daher wäre es gut wenn wir das erstmal so testen :)
Das Plugin muss in einem komischen Zustand sein. Ich glaube, wir können es reparieren. Probiere bitte folgendes: Editiere die Datei plugins/serendipity_event_karma/serendipity_event_karma.php und gehe zu Zeile 419. Da steht folgender Code:
Code: Select all
$q = "CREATE TABLE {$serendipity['dbPrefix']}karma (
entryid int(11) default null,
points int(4) default null,
votes int(4) default null,
lastvote int(10) {UNSIGNED} NULL,
visits int(11) default null
)";
$sql = serendipity_db_schema_import($q);
$q = "CREATE TABLE {$serendipity['dbPrefix']}karmalog (
entryid int(11) default null,
points int(4) default null,
ip varchar(45),
user_agent varchar(255),
votetime int(11) default null
)";
$sql = serendipity_db_schema_import($q);
Code: Select all
$q = "CREATE TABLE IF NOT EXISTS {$serendipity['dbPrefix']}karma (
entryid int(11) default null,
points int(4) default null,
votes int(4) default null,
lastvote int(10) {UNSIGNED} NULL,
visits int(11) default null
)";
$sql = serendipity_db_schema_import($q);
$q = "CREATE TABLE IF NOT EXISTS {$serendipity['dbPrefix']}karmalog (
entryid int(11) default null,
points int(4) default null,
ip varchar(45),
user_agent varchar(255),
votetime int(11) default null
)";
$sql = serendipity_db_schema_import($q);
Wahrscheinlich existiert der Index auch schon, der danach erstellt wird, aber ich weiß nicht ob das auch einen Fehler werfen würde. Der Fix dafür wäre schwieriger, zumindest mit MySQL, daher wäre es gut wenn wir das erstmal so testen :)
Re: Karma unter PHP 8.2
Hallo,
ich hatte heute mal die Zeit es zu ändern. Hat nichts gebracht.
Fehlermeldung ist weiterhin da.
Grüße Refi
ich hatte heute mal die Zeit es zu ändern. Hat nichts gebracht.
Fehlermeldung ist weiterhin da.
Grüße Refi
- Attachments
-
- karma3.png (77.8 KiB) Viewed 25947 times
-
- karma2.png (169.88 KiB) Viewed 25948 times
Das Leben ist ein scheiss Spiel! Nur die Grafik ist geil!
Re: Karma unter PHP 8.2
Aber das ist doch eine andere Fehlermeldung? Vergleiche sie mal.
Nun ist kfetch das Problem. Man müsste in Zweile 438 noch den Index nur erstellen wenn nötig. Das kann mySQL aber nicht einfach so CREATE INDEX kennt kein IF NOT EXISTS. Stattdessen könnten wir die Exception fangen.
Ab Zeile 437 steht dieser Code:
Daraus machst du:
Das fängt bewusste alle Exceptions, weil im MySQL-Modus zukünftig auch PDO_MYSQL benutzt werden könnte statt mysqli, was die Exception ändern dürfte. Und wir machen nichts mit der gefangenen Exception, weil es nichts zu machen gibt.
Nun ist kfetch das Problem. Man müsste in Zweile 438 noch den Index nur erstellen wenn nötig. Das kann mySQL aber nicht einfach so CREATE INDEX kennt kein IF NOT EXISTS. Stattdessen könnten wir die Exception fangen.
Ab Zeile 437 steht dieser Code:
Code: Select all
$q = "CREATE INDEX kfetch ON {$serendipity['dbPrefix']}karma (entryid, lastvote);";
$sql = serendipity_db_schema_import($q);
$q = "CREATE INDEX kentryid ON {$serendipity['dbPrefix']}karma (entryid);";
$sql = serendipity_db_schema_import($q);
Code: Select all
$q = "CREATE INDEX kfetch ON {$serendipity['dbPrefix']}karma (entryid, lastvote);";
try {
$sql = serendipity_db_schema_import($q);
} catch (Exception $e) { }
$q = "CREATE INDEX kentryid ON {$serendipity['dbPrefix']}karma (entryid);";
try {
$sql = serendipity_db_schema_import($q);
} catch (Exception $e) { }
Re: Karma unter PHP 8.2
Hallo,
ja, kann natürlich sein das es ein anderer Fehler ist. Ich verstehe davon einfach nur nichts.
Ich hab die Zeilen angepasst. Dann erscheint wieder ein neuer Fehler:
ja, kann natürlich sein das es ein anderer Fehler ist. Ich verstehe davon einfach nur nichts.
Ich hab die Zeilen angepasst. Dann erscheint wieder ein neuer Fehler:
- Attachments
-
- karma4.png (166.95 KiB) Viewed 25930 times
Das Leben ist ein scheiss Spiel! Nur die Grafik ist geil!