Umstellung auf PHP 8, Fataler Fehler bei "Recent Topics"

Du hast Probleme beim Installieren oder bei der Benutzung einer Extension? In diesem Forum bist du richtig.
Forumsregeln
Bei Fragen zu einer bestimmten Extension sind Extension-Name und die Downloadquelle der Extension erforderlich. Letztere in Form der URL zum Download.
TomLB
Mitglied
Beiträge: 147
Registriert: 09.11.2019 13:38
Kontaktdaten:

Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"

Beitrag von TomLB »

siehe meine vorige Antwort . Wurde nochmal Editiert.
Es ist definitiv die ext "recenttopics"
LG, Tom
Board 3.3.8 | PHP 8.0.23 | https://www.v-stromforum.de
Benutzeravatar
Tommy Herrmann
Mitglied
Beiträge: 133
Registriert: 06.12.2020 11:24
Kontaktdaten:

Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"

Beitrag von Tommy Herrmann »

jepp - Du hattest Recht ...

... ich habe nun auf PHP 8.0.25 umgestellt:

https://www.mobirise-tutorials.com/PHP/

der Übeltäter war die Erweiterung "Recent Topics":

https://www.phpbb.com/customise/db/exte ... _topics_2/

Ich habe auch zusätzlich die dort beschriebene Version 2.2.15 installiert.

Leider erhalte ich nun diese Fehlermeldung, auch bei der vorher funktionierenden Version 2.2.13 und habe keine Ahnung ob und was ich da machen könnte, denn ich fand die Anzeige der neuesten Beiträge ganz oben im Forum schon richtig gut.

Forum-Fehlermeldung hat geschrieben:

Allgemeiner Fehler
SQL ERROR [ mysqli ]

Duplicate entry 'paybas/recenttopics' for key 'ext_name' [1062]

SQL

INSERT INTO phpbb_ext (ext_name, ext_active, ext_state) VALUES ('paybas/recenttopics', 0, 'b:1;')

BACKTRACE


FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 1023
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 202
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 345
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/phpbb/extension/manager.php
LINE: 179
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/phpbb/extension/manager.php
LINE: 241
CALL: phpbb\extension\manager->update_state()

FILE: [ROOT]/includes/acp/acp_extensions.php
LINE: 209
CALL: phpbb\extension\manager->enable_step()

FILE: [ROOT]/includes/functions_module.php
LINE: 676
CALL: acp_extensions->main()

FILE: [ROOT]/adm/index.php
LINE: 81
CALL: p_master->load_active()
Benutzeravatar
Tommy Herrmann
Mitglied
Beiträge: 133
Registriert: 06.12.2020 11:24
Kontaktdaten:

Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"

Beitrag von Tommy Herrmann »

Das Problem hat sich offenbar durch das Löschen vom Forum-Cache erledigt - kaum zu glauben - aber wahr!

Ich hatte diese Erweiterung zuvor komplett am Server entfernt und dann den Forum-Cache auch gelöscht.

Anschließend hatte ich die Erweiterung neu installiert und sogleich diese Fehlermeldung. Ich hatte dann aber den Cache nicht erneut gelöscht, was ich nun nachgeholt hatte.

Den Haken bei den Einstellungen der Erweiterung "Show all recent topic pages" darf man auch nicht setzten - dann geht nichts mehr.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2087
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"

Beitrag von LukeWCS »

Hi Tommy
Tommy Herrmann hat geschrieben: 05.11.2022 16:26 Sollte ich vielleicht alle Erweiterungen, bevor ich auf PHP 8 umstelle, deaktivieren? Dann erst nach der Umstellung wieder einzeln aktivieren?
Das ist generell eine gute Idee. Immer wenn man die Minor Version von PHP oder phpBB hochsetzt, müssen alle Exts vorher deaktiviert und dann der Reihe nach wieder aktiviert und getestet werden.

Major.Minor.Revision

Sprich, wenn man von phpBB 3.2 auf 3.3 wechselt, oder von PHP 7.3 auf 7.4 oder von 7.4 auf 8.0. Innerhalb der gleichen Minor Version, wenn sich also nur die Revisionsnummer ändert, ist das in der Regel nicht notwendig. Ob wir jetzt also PHP 7.4.0 oder 7.4.8 haben ist egal. Das gleiche gilt grundsätzlich auch bei phpBB, weil sogenannte "Script Breaking Changes" normalerweise nur beim Wechsel der Minor Version und natürlich Major Version auftreten können. Aber Ausnahmen von dieser Regel kann es auch hier geben, aber es sind Ausnahmen.

Ich setze Recent Topics auch seit vielen Jahren ein. Ich schau mir das mal bei Gelegenheit mit PHP 8.0 an. Noch verwende ich überall 7.4. Das der Autor der Ext inzwischen gewechselt hat, hab ich erst durch dein Thema hier erfahren.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
Tommy Herrmann
Mitglied
Beiträge: 133
Registriert: 06.12.2020 11:24
Kontaktdaten:

Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"

Beitrag von Tommy Herrmann »

Moin,

vielen Dank für diese toller Erklärung, denn so versteht man das alles schon mal um einiges besser :grin:

Wenn man etwas nicht richtig versteht, fällt es schwer keine Fehler zu machen.

Ich hatte nur gerade bei meinem Provider "1&1 IONOS" gelesen, dass dort für PHP 7.4 der "PHP Community Support bis 12/2022" läuft und dann eben eingestellt wird.

Komisch überrascht hat mich das aber dennoch alles.

Der Fehler trat bei mir nämlich zuerst auf, als ich die Erweiterung "Board Announcements" nach der Umstellung nutzen wollte (wie hier auch auf Seite 1 beschrieben) um meine Umstellung auf PHP 8 anzukündigen. Deswegen habe ich auch nicht gleich bemerkt, dass sich die Fehlermeldung eigentlich auf "Recent Topics" bezogen hat - das ich aber noch gar nicht angerührt hatte und die auch bereits angezeigt wurde.

Ich habe daraufhin "Recent Topics" deaktiviert und am Server restlos gelöscht. Dann neu in der neuesten Version 2.2.15 auf den Server kopiert. Dann im ACP aktiviert und schon mit der Aktivierung, dieser ganz neu installierten Erweiterung, kam dann die nächste Fehlermeldung, die ich dann auch erst mit dem Löschen des Forum-Cache beheben konnte. Ich habe nach der Installation einer ganz frischen Erweiterung noch nie den Cache gelöscht, nur damit diese überhaupt funktioniert.

Nun funktioniert ja alles ganz prima mit PHP 8.

... aber etwas merkwürdig fand ich das schon. Ich habe ja auch noch 8 andere Erweiterungen und alle haben schon mal ein Update erhalten - auch "Recent Topics" - und das hatte bisher immer vollkommen problemlos geklappt.

Hier findest Du unsere Diskussion in meinem Forum - nur falls das vielleicht alles noch besser erklärt.

https://www.mobirise-tutorials.com/Foru ... f=34&t=855

... insbesondere diesen Beitrag von meinem Supporter "Klaus":

https://www.mobirise-tutorials.com/Foru ... 8285#p8285

Ich bin fast sicher, dass die neueste Version von "Recent Topics" nicht ganz sauber tickt.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2087
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"

Beitrag von LukeWCS »

Tommy Herrmann hat geschrieben: 06.11.2022 12:38 Wenn man etwas nicht richtig versteht, fällt es schwer keine Fehler zu machen.
Ich weiss nicht wie es dir geht, aber ich habe ein extrem selektives Gedächtnis was programmieren angeht. Ich kann mir beim besten Willen Dinge die ich nicht verstehe nur sehr schlecht bis gar nicht merken. Darum gehe ich Dingen auch immer auf den Grund. Mit "Ist halt so" hab ich mich noch nie zufrieden gegeben.
Ich hatte nur gerade bei meinem Provider "1&1 IONOS" gelesen, dass dort für PHP 7.4 der "PHP Community Support bis 12/2022" läuft und dann eben eingestellt wird.
Hier muss man differenzieren. Wir befinden uns bei 7.4 seit 28.11.2021 in der "Security fixes only" Phase und am 28.11.2022 ist dann "End of life" erreicht. PHP 7.4 bekommt dann also keinerlei Updates mehr.

Siehe auch: https://www.php.net/supported-versions.php

Das heisst jedoch nicht, dass die Hoster zu dem Zeitpunkt 7.4 abschalten werden, das wäre ziemlich krass und auch völlig praxisfremd. Normalerweise gewähren die Hoster eine Übergangszeit damit der Admin sein System vollständig aktualisieren kann, so das es beim Wechsel auf 8.0 keine bzw. möglichst wenig Probleme gibt. So ist es jedenfalls bei den Hostern bei denen ich bisher war und auch bei meinem aktuellen (bei dem ich schon ewig bin) ist das der Fall. Das älteste was ich da noch auswählen kann, ist sogar PHP 5.6.
Der Fehler trat bei mir nämlich zuerst auf, als ich die Erweiterung "Board Announcements" nach der Umstellung nutzen wollte (wie hier auch auf Seite 1 beschrieben) um meine Umstellung auf PHP 8 anzukündigen. Deswegen habe ich auch nicht gleich bemerkt, dass sich die Fehlermeldung eigentlich auf "Recent Topics" bezogen hat - das ich aber noch gar nicht angerührt hatte und die auch bereits angezeigt wurde.
Jetzt im Nachhinein ist es schier unmöglich noch genau nachvollziehen zu wollen, was da bei dir wann und wie passiert ist. Es kann eine Wechselwirkung mit einer anderen Ext gewesen sein, oder Cache Probleme oder sonstwas.
Ich habe nach der Installation einer ganz frischen Erweiterung noch nie den Cache gelöscht, nur damit diese überhaupt funktioniert.
Das ist normalerweise auch nicht nötig, weil phpBB das automatisch macht. Siehe meine Sig erster Link unter Punkt 5 - Cache. Den phpBB Cache manuell leeren ist aber bei einem seltsamen Phänomen immer eine gute Idee, da dort nicht nur Daten, sondern auch Code zwischengespeichert wird. Für Ext Coder ist das Leeren des Caches während der Entwicklung sowieso völlig normal und läuft als natürlicher Reflex ab. :D

Aber im normalen Forenbetrieb ist das nur im Problemfall notwendig. Solche Probleme entstehen übrigens auch gerne, wenn sich Admins nicht an die Anleitungen bezüglich Ext Handhabung halten. Insbesondere was Aktualisierungen angeht.
Den Haken bei den Einstellungen der Erweiterung "Show all recent topic pages" darf man auch nicht setzten - dann geht nichts mehr.
Was das angeht, das muss ich mir anschauen, hatte noch keine Zeit. Ich habe mir jetzt mal die neue Version des neuen Autors geholt.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
IMC
Mitglied
Beiträge: 538
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"

Beitrag von IMC »

Den Haken bei den Einstellungen der Erweiterung "Show all recent topic pages" darf man auch nicht setzten - dann geht nichts mehr.
Wenn in der /ext/paybas/recenttopics/core/recenttopics.php diese Zeile (311):

Code: Alles auswählen

$this->total_topics_limit = (int) $this->db->sql_fetchfield('topic_count', $result);
Durch diese ersetzt wird

Code: Alles auswählen

$this->total_topics_limit = (int) $this->db->sql_fetchfield('topic_count');
funktioniert die Extension.

Edit: Habe eben gesehen dass der Fehler bereits gemeldet wurde. Ich versuche mal meine Lösung zu kommunizieren.

Noch mal Edit: Die Lösung wurde bereits hier gepostet.
Zuletzt geändert von IMC am 06.11.2022 16:16, insgesamt 2-mal geändert.
Gruß, Thorsten
Benutzeravatar
Tommy Herrmann
Mitglied
Beiträge: 133
Registriert: 06.12.2020 11:24
Kontaktdaten:

Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"

Beitrag von Tommy Herrmann »

Ich wusste, dass da was sein muss - toll, wie ihr euch dahinter klemmt - großartig.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2087
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"

Beitrag von LukeWCS »

IMC hat geschrieben: 06.11.2022 15:33 Wenn in der /ext/paybas/recenttopics/core/recenttopics.php diese Zeile (311):
Guter Fund. Ich hätte das vermutlich nicht so schnell gefunden, weil alles was mit SQL zu tun hat, nicht gerade meine Stärke ist, um es mal höflich zu formulieren. :D
Noch mal Edit: Die Lösung wurde bereits hier gepostet.
Das ist anderthalb Jahre her. Wenn ich mir die Issues im Repo und den Support Bereich in der CDB anschaue, dann scheint der Autor schon länger nicht zu reagieren auf Meldungen.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2087
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"

Beitrag von LukeWCS »

Jut, die Ursache für "Show all recent topic pages" wurde durch IMC (und davor andere) ja ermittelt. Bleibt noch:
Tommy Herrmann hat geschrieben: 06.11.2022 05:30 Duplicate entry 'paybas/recenttopics' for key 'ext_name' [1062]
Bei allen meinen Versuchen mit 2.1.13 und 2.1.15 im lokalen TB ist mir diese Fehlermeldung nicht untergekommen. Ich habe davon auch im CDB Support Bereich der Ext gelesen, aber wie gesagt, ich kann es nicht nachvollziehen.

Dem Fehlerprotokoll nach, hat phpBB aus irgendeinem Grund versucht die Ext erneut zu installieren (in der DB zu registrieren). Aber was zu diesem Phänomen führen könnte, ist mir schleierhaft. Könnte ich den Fehler bei mir reproduzieren, könnte ich auch die Ursache finden.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Antworten

Zurück zu „Extension Support“