Hallo, Gast! (Registrieren)

Letzte Ankündigung: Sicherheitsupdate: MyBB 1.8.30 veröffentlicht (09.03.22)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Thread-Views zählen nicht hoch unter PHP8
#1
Ich habe ein neues Forum unter PHP 8.1 und MySQL 8 aufgesetzt

soweit alles ok, aber heute ist mir aufgefallen, dass die Views bei den Themen auf 0 stehen, obwohl man an den Antworten sieht, dass schon eine Menge Views dafür produziert worden sein müssen.

Nach Umstellung auf PHP 7.4 zählen die Themenaufrufe sofort und der Counter bewegt sich.
Ich nutze also die sofortige Zählfunktion, nicht die taskgesteuerte (hatte ich auch probiert, ohne Erfolg). Aufrufe des Themenstarters und aller anderen sollen auch gezählt werden laut Einstellung im ACP. Theoretisch sollte also jeder Aufruf egal von wem auch ziehen, aber es zieht keiner.

So kompliziert kann die Funktion ja nun eigentlich nicht sein, dass sie unter einer höheren PHP-Version zu Aussetzern führt. Dachte ich zumindest. Bei Aufruf der showthread.php kurz einen Eintrag in der Datenbank mit views+1, fertig

Wo hakelt das mit PHP 8.0 bzw. PHP 8.1 (beide getestet)

jemand eine Idee?

Ich würde das Forum schon gerne unter PHP 8 laufen lassen (weil es wahnsinnig Spaß macht die Plugins dann nachzubessern, die nicht gepflegt werden  Rolleyes )

Einen Link kann ich euch nicht bieten, da das Forum hinter einem htaccess-Passwortschutz liegt

installierte Plugins:
DVZ Shoutbox 2.3.4
Jump to top 1.1 (installiert nach Bemerken des Fehlers)
My Arcade 1.4
MyBB FancyBox 1.1.2 (installiert nach Bemerken des Fehlers)
OUGC Custom Language 1.8
ProPortal BenutzerCP-Einstellungen + natürlich dazu ProPortal 2.6.2

ich sehe da nichts, was in die Threadanzeige eingreifen könnte und wenn, dann sollte es doch auch unter PHP 7.4 störend eingreifen

danke für eure Zeit
Lu
schönen Gruß
bv64 / Lu

kein Support per PN, Mail, Messenger etc.
still alive - aus gesundheitlichen Gründen aktuell nur sehr sporadisch aktiv
Zitieren
#2
Wie verhält es sich, wenn die ganzen Plugins deaktiviert werden?
Natürlich könnte auch ein nicht-PHP8-kampatibles Plugin zu diesem Problem führen.

Die Option $mybb->settings['delayedthreadviews'] ist defintiv nicht aktiviert?

[ETS]
MyBB-Forum + innovatives Theme
Live Escape Game Forum
Erste Deutsche und Internationale Community und Diskussionsplattform für Live Escape und Adventure Games.
Unlösbares Problem? -> das Nötel
Zitieren
#3
(08.09.2022, 02:13)[ExiTuS] schrieb: Wie verhält es sich, wenn die ganzen Plugins deaktiviert werden?
Natürlich könnte auch ein nicht-PHP8-kampatibles Plugin zu diesem Problem führen.
gerade noch mal alle deaktiviert, kein Unterschied, in PHP8 erfolgt keine Zählung

(08.09.2022, 02:13)[ExiTuS] schrieb: Die Option $mybb->settings['delayedthreadviews'] ist defintiv nicht aktiviert?

[ETS]
absolut definitiv, da ich sie testweise an hatte und es auch dann nicht funktionierte, weiß ich genau, dass die andere an ist, da es ja in php7.4 sofort gezählt wird

Hab mir das mal angeschaut in der showthread.php

Vielleicht ein Problem mit shutdown_query ?

edit: Treffer versenkt!
Ich habe aus der shutdown_query testweise mal eine write_query gemacht und schon läuft die Zählung auch unter PHP 8.1

$db->shutdown_query
Runs a query thats performed when PHP is done parsing the file.

Was für ein Problem hat die shutdown_query mit PHP8?
schönen Gruß
bv64 / Lu

kein Support per PN, Mail, Messenger etc.
still alive - aus gesundheitlichen Gründen aktuell nur sehr sporadisch aktiv
Zitieren
#4
shutdown_query() sammelt quasi alle SQL-Statements in einem Array und führt sie am Ende des Scripts mittels Schleife aus.
Ich kann spontan in der ganzen Kaskade an Funktionen/Variablen nichts auffälliges finden, warum dies nicht funktionieren sollte.

Hast du einen Blick ins aktivierte Debug geworfen, ob und welche Queries tatsächlich abgesetzt werden?

[ETS]
MyBB-Forum + innovatives Theme
Live Escape Game Forum
Erste Deutsche und Internationale Community und Diskussionsplattform für Live Escape und Adventure Games.
Unlösbares Problem? -> das Nötel
Zitieren
#5
ja, hab ich mir gerade mal angeschaut

mit original showthread.php habe ich folgende write-queries
UPDATE mybb_sessions
REPLACE INTO mybb_threadsread

die folgender Query erfolgt aber nur, wenn ich auf write_query umschalte
UPDATE mybb_threads SET views=views+1 WHERE tid='10'

weitere Datenbankzugriffe sind alle select

shutdown_query wird in der showthread.php nur für die views verwendet, entweder als direkte Hochzählung oder als Eintrag in die xyz_threadviews Tabelle für den folgenden Taskdurchlauf

Was soll also noch weiter im shutdown gesammelt werden?
schönen Gruß
bv64 / Lu

kein Support per PN, Mail, Messenger etc.
still alive - aus gesundheitlichen Gründen aktuell nur sehr sporadisch aktiv
Zitieren
#6
(08.09.2022, 11:32)bv64 schrieb: die folgender Query erfolgt aber nur, wenn ich auf write_query umschalte
UPDATE mybb_threads SET views=views+1 WHERE tid='10'
Woran siehst du das? Die Shutdown-Abfragen werden erst ausgeführt, wenn die Seite bereits vollständig an den Browser gesendet ist.
(08.09.2022, 11:32)bv64 schrieb: Was soll also noch weiter im shutdown gesammelt werden?
Es werden diverse Informationen per shutdown-Query aktualisiert, unter anderem Sessions und die Information, dass ein Thema oder Forum gelesen wurde.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
weil ich es einmal mit shutdown_query und einmal mit write_query getestet habe und jeweils im Debug mir die Seite angeschaut habe Wink

tja, keine Ahnung in wieweit die anderen gesammelten Sachen dann ausgeführt werden
bin aktuell wieder auf PHP 7.4 zurück, kein Nerv dafür
schönen Gruß
bv64 / Lu

kein Support per PN, Mail, Messenger etc.
still alive - aus gesundheitlichen Gründen aktuell nur sehr sporadisch aktiv
Zitieren
#8
(10.09.2022, 14:41)bv64 schrieb: weil ich es einmal mit shutdown_query und einmal mit write_query getestet habe und jeweils im Debug mir die Seite angeschaut habe Wink
Wie eben schon geschrieben: Die Seite ist bei der Ausführung der Abfrage schon an den Browser gesendet und wird quasi im Hintergrund abgearbeitet. Du kannst das nicht auf der Debug-Seite sehen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
ja, aber wenn es irgendwann ausgeführt würde, müssten die Views doch dann hoch zählen

was definitiv unter PHP8 nicht geschah, keine Ahnung warum
schönen Gruß
bv64 / Lu

kein Support per PN, Mail, Messenger etc.
still alive - aus gesundheitlichen Gründen aktuell nur sehr sporadisch aktiv
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Beitrag Views werden nicht hochgezählt Saint 9 1.230 19.08.2021, 18:08
Letzter Beitrag: Saint
  Thread Views nur bei reg. Usern hochzählen KH1990 4 1.347 28.01.2019, 16:52
Letzter Beitrag: KH1990
  SQL Query time extrem hoch (Select Query) Assassin286 7 1.467 07.06.2018, 21:29
Letzter Beitrag: Assassin286
  Hoch- bzw. tiefgestellte Zeichen - BB Code oder Editor? hoerbartina 4 1.034 01.10.2015, 20:59
Letzter Beitrag: hoerbartina