Re: Umstellung auf PHP 8, Fataler Fehler bei "Board Announcements"
Verfasst: 05.11.2022 18:03
siehe meine vorige Antwort . Wurde nochmal Editiert.
Es ist definitiv die ext "recenttopics"
Es ist definitiv die ext "recenttopics"
phpBB.de - Die deutsche phpBB-Community
https://www.phpbb.de/community/
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()
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?
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.
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.
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.
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');
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.
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]