WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
Hallo zusammen,
nach dem Update auf Version 1.5.3 bleiben nun alle Seiten blank, auf denen das Modul Sitemap Version 4.0.11 läuft.
Ich habe es mit mehreren Templates probiert, um zu checken, ob es am Template liegt. Bei allen Templates war das Ergebnis gleich blank.
Was kann ich tun?
Offline
Bei den Grundlagen anfangen und den Error log posten
Offline
Ich hatte das letztens auch, da fehlten unerklärlicherweise einige Datenbanktabellen und deshalb lief ein Query ins Leere.
Versuch mal, ob es hilft, bei Erweiterungen > Module unter "Moduldateien manuell ausführen" die Datei "upgrade.php" für das Modul Sitemap auszuführen.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Vorab Danke für die schnellen Reaktionen.
Ich habe im Webspace unterschiedliche php-Versionen probiert. 7.4.32: hier funktioniert das Sitemapmodul. Bei 8.0.24 und 8.1.11 funktioniert es nicht und zeigt eine leere Seite.
@florian
Modulupdate habe ich manuell gemacht ohne Erfolg.
@colinax
Hier der Error log:
2022-10-21T08:10:20+00:00 [Warning] /modules/sitemap/view.php:[124] from /framework/frontend.functions.php:[485] block_contents "Undefined array key "menus""
2022-10-21T08:10:20+00:00 [Exception] There was an unknown exception: Call to a member function numRows() on null in line (67) of /modules/sitemap/view.php
Offline
Genau den Fehler hatte ich auch.
Installiere Dir bitte mal das Adminer-Admintool und gehe damit in die Datenbank.
Prüfe erstmal, ob es in der Tabelle {DEINPRÄFIX}mod_sitemap die Felder show_settings, menus und layout gibt.
Ist das nicht der Fall, klicke dort auf "SQL-Kommando" und führe folgenden Befehl aus:
ALTER TABLE `{DEINPRÄFIX}mod_sitemap` ADD `show_settings` INT(1) NOT NULL DEFAULT '1',
ADD `menus` VARCHAR(30) NOT NULL DEFAULT '0',
ADD `layout` varchar(128) NOT NULL DEFAULT '0'
WCHTIG: {DEINPRÄFIX} musst Du natürlich durch den tatsächlichen Präfix ersetzen, also z.B. wbce_
Wenn der Befehl durchläuft und keinen Fehler wirft, sollten die Sitemap-Seiten anschließend wieder gehen.
Wenn die Tabellen schon da waren und/oder sich nicht anlegen lassen, muss sich das mal wer anschauen, der mehr als ich von der Materie versteht.
Beitrag geändert von florian (21.10.2022 16:07:51)
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Ok, das werde ich tun und gebe dann Bescheid, ob es half. Das wird wahrscheinlich aber erst Montag werden, bis ich dazu komme.
Vielen Dank schon mal!
Offline
Hallo florian,
das war es in der Tat. Die drei Felder fehlten. Nach dem Ausführen des SQL-Befehls funktioniert nun alles in php 8.1.11.
Herzlichen Dank für die Lösung!
Offline
florian
Die Frage ist, wodurch das passiert. An sich sollte beim Modulupdate ja genau das, was ich oben zur manellen Ausführung via Adminer gepostet hatte, automatisch passieren, siehe upgrade.php.
Frage an die mySQL-/PHP-Profis hier: Ist der DB-Query irgendwie fehlerhaft, oder kann es sein, dass bei PHP 8.1 array_key_exists da aus unerfindlichen Gründen true zurückliefert?
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Hi, ich kein mySQL-/PHP Experte glaube aber nicht das array_key_exists das Problem ist, sondern die Abfrage des if innerhalb des von florian verlinkten if Befehls.
Dass würde auch zu einem anderen Problem passen, die public function query gibt es aktuell zweimal und ich habe die Vermutung dass aus irgendeinem Grund die falsche verwendet wird.
Offline
vielleicht war die upgrade.php schreibgeschützt und wurde beim Update nicht durch die aktuelle Version ersetzt, d.h. die dort tatsächlich liegende Datei kannte diese Felder noch gar nicht?
Offline
Das ist echt mysteriös. Die zusätzlichen Felder sind bereits mit Version 4 des Sitemap-Moduls bzw. WBCE 1.2.0, also vor 5 Jahren, hinzugekommen. Das hätte doch längst mal bei einem Zwischenupdate Probleme machen müssen. Also zumindest ich hatte bei der betr. Seite nicht von 1.2, sondern 1.5.1 geupdatet.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Der Fehler ist ja auf der betroffenen Seite schon gefixt, gibt es eine Seite, wo man das nachstellen könnte?
Denn wenn es um die Darstellung geht, betrifft es von den fehlenden Tabellen nur die $menus.
Mit dem Update auf Version 4.0.11 wurde die Darstellung der Ausgabe korrigiert, sodass $menus nicht mehr per se leer ist, sondern nur leer ist wenn $menus nicht definiert ist, es ist ja definiert daher fehlt die Zeile und das Script failed weil es nicht 0 sondern NULL bekommt?!?
Fehler der mit 4.0.11 behoben wurde:
Dabei bin ich auf Probleme mit dem mitgelieferten Sitemap Modul gestoßen. Die Einstellung nur Einträge aus bestimmten Menüs darzustellen greifen nicht. Es werden immer alle Seiten angezeigt.
Offline
Der Fehler ist ja auf der betroffenen Seite schon gefixt, gibt es eine Seite, wo man das nachstellen könnte?
Servus colinax!
Falls noch Interesse besteht, hätte ich mehrere, bei verschiedenen Hostinganbietern.
lg
Harry
Beitrag geändert von harry352 (01.01.2023 10:14:57)
Offline
colinax schrieb:Der Fehler ist ja auf der betroffenen Seite schon gefixt, gibt es eine Seite, wo man das nachstellen könnte?
Servus colinax!
Falls noch Interesse besteht, hätte ich mehrere, bei verschiedenen Hostinganbietern.
lg
Harry
Da schließ ich mivh direkt an hab das grade auch festgestellt. Allerdings bisschen anderer Fehler:
2023-01-10T19:40:22+00:00 [Notice] /modules/sitemap/modify.php:[174] from /admin/pages/modify.php:[166] "Trying to access array offset on value of type null"
(Ich reg mich hier nur am Rande darüber auf das PHP so einen Fehler als "Notice" einstuft, wodurch man den eventuell erst garnicht sieht, auch wenn dadurch alles kaputt geht...)
Netter weise kommt der Fehler auch direkt 13 mal, allerdings passiert das auf der Seite irgendwie bei jedem Fehler... Führt zu unnötig großen Logfiles (Ich musste vor kurzem ein 46GB großes Logfile löschen...) woran das liegt ist mir ein Rätsel.
Die betroffene Seite: https://whgonline.de/pages/sitemap.php
MfG
Per
Offline
Das scheint auch mit der settings-Tabelle zu tun zu haben.
Kannst Du bitte die hier beschriebenen Schritte ausführen:
https://forum.wbce.org/viewtopic.php?pid=40127#p40127
Code allein macht nicht glücklich. Jetzt spenden!
Offline