Umstellung auf PHP 8, Fataler Fehler bei "Recent Topics"
Forumsregeln
Bei Fragen zu einer bestimmten Extension sind Extension-Name und die Downloadquelle der Extension erforderlich. Letztere in Form der URL zum Download.
Bei Fragen zu einer bestimmten Extension sind Extension-Name und die Downloadquelle der Extension erforderlich. Letztere in Form der URL zum Download.
Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
siehe meine vorige Antwort . Wurde nochmal Editiert.
Es ist definitiv die ext "recenttopics"
Es ist definitiv die ext "recenttopics"
LG, Tom
Board 3.3.8 | PHP 8.2 | https://www.v-stromforum.de
Board 3.3.8 | PHP 8.2 | https://www.v-stromforum.de
- Tommy Herrmann
- Mitglied
- Beiträge: 144
- Registriert: 06.12.2020 11:24
- Kontaktdaten:
Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
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.
... 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()
- Tommy Herrmann
- Mitglied
- Beiträge: 144
- Registriert: 06.12.2020 11:24
- Kontaktdaten:
Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
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.
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.
Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
Hi Tommy
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.
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.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?
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.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
- Tommy Herrmann
- Mitglied
- Beiträge: 144
- Registriert: 06.12.2020 11:24
- Kontaktdaten:
Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
Moin,
vielen Dank für diese toller Erklärung, denn so versteht man das alles schon mal um einiges besser
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.
vielen Dank für diese toller Erklärung, denn so versteht man das alles schon mal um einiges besser

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.
Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
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.Tommy Herrmann hat geschrieben: 06.11.2022 12:38 Wenn man etwas nicht richtig versteht, fällt es schwer keine Fehler zu machen.
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.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.
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.
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.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.
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.Ich habe nach der Installation einer ganz frischen Erweiterung noch nie den Cache gelöscht, nur damit diese überhaupt funktioniert.

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.
Was das angeht, das muss ich mir anschauen, hatte noch keine Zeit. Ich habe mir jetzt mal die neue Version des neuen Autors geholt.Den Haken bei den Einstellungen der Erweiterung "Show all recent topic pages" darf man auch nicht setzten - dann geht nichts mehr.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
Wenn in derDen Haken bei den Einstellungen der Erweiterung "Show all recent topic pages" darf man auch nicht setzten - dann geht nichts mehr.
/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);
Code: Alles auswählen
$this->total_topics_limit = (int) $this->db->sql_fetchfield('topic_count');
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
- Tommy Herrmann
- Mitglied
- Beiträge: 144
- Registriert: 06.12.2020 11:24
- Kontaktdaten:
Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
Ich wusste, dass da was sein muss - toll, wie ihr euch dahinter klemmt - großartig.
Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
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.IMC hat geschrieben: 06.11.2022 15:33 Wenn in der/ext/paybas/recenttopics/core/recenttopics.php
diese Zeile (311):

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.Noch mal Edit: Die Lösung wurde bereits hier gepostet.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
Jut, die Ursache für "Show all recent topic pages" wurde durch IMC (und davor andere) ja ermittelt. Bleibt noch:
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.
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.Tommy Herrmann hat geschrieben: 06.11.2022 05:30 Duplicate entry 'paybas/recenttopics' for key 'ext_name' [1062]
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.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität