Neu JTL Download Modul mit PHP 8.0

wo0dle

Sehr aktives Mitglied
6. Oktober 2015
148
32
Hallo,

wir haben ein Problem mit dem JTL Download Modul mit PHP 8.0.20, es wird eine leere weiße Seite angezeigt nachdem man im Kundenkonto auf den bezahlten und freigeschalteten Download Button klickt.
Wenn man zurück klickt wird der Download bei uns mit Anzahl Download 0/3 angezeigt. Mit PHP Version 7.4.30 funktioniert alles wie gewohnt. Wir nutzen ein Template von Salepix, das gleiche funktioniert aber im Nova auch nicht, daher konnten wir das ausschließen das es evtl. am Template liegt. Wir können wegen diesem Problem nicht auf PHP 8.0 umstellen, hat jemand das gleiche Problem und schon eine Lösung dafür?

Shop Debug hat folgendes ausgegegeben auf der weißen Seite: (php8 countable error)

ab zeile 396 Download.php, der count ist in zeile 399
$history bleibt wohl leer

Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in /var/www/vhosts/meineseite.de/shop/includes/src/Extensions/Download/Download.php:399 Stack trace: #0 /var/www/vhosts/meineseite.de/shop/includes/src/Extensions/Download/Download.php(336): JTL\Extensions\Download\Download::checkFile() #1 /var/www/vhosts/meineseite.de/shop/includes/src/Customer/AccountController.php(1000): JTL\Extensions\Download\Download::getFile() #2 /var/www/vhosts/meineseite.de/shop/includes/src/Customer/AccountController.php(263): JTL\Customer\AccountController->viewOrders() #3 /var/www/vhosts/meineseite.de/shop/includes/src/Customer/AccountController.php(135): JTL\Customer\AccountController->handleCustomerRequest() #4 /var/www/vhosts/meineseite.de/shop/jtl.php(20): JTL\Customer\AccountController->handleRequest() #5 /var/www/vhosts/meineseite.de/shop/index.php(13): require('...') #6 {main} thrown in /var/www/vhosts/meineseite.de/shop/includes/src/Extensions/Download/Download.php on line 399
 

frankw75

Mitglied
7. Februar 2022
21
4
Hallo,

wir haben ein Problem mit dem JTL Download Modul mit PHP 8.0.20, es wird eine leere weiße Seite angezeigt nachdem man im Kundenkonto auf den bezahlten und freigeschalteten Download Button klickt.
Wenn man zurück klickt wird der Download bei uns mit Anzahl Download 0/3 angezeigt. Mit PHP Version 7.4.30 funktioniert alles wie gewohnt. Wir nutzen ein Template von Salepix, das gleiche funktioniert aber im Nova auch nicht, daher konnten wir das ausschließen das es evtl. am Template liegt. Wir können wegen diesem Problem nicht auf PHP 8.0 umstellen, hat jemand das gleiche Problem und schon eine Lösung dafür?

Shop Debug hat folgendes ausgegegeben auf der weißen Seite: (php8 countable error)

ab zeile 396 Download.php, der count ist in zeile 399
$history bleibt wohl leer
Vielleicht liegt es daran, das IonCube verwendet wird oder eine andere Erweiterung die nicht mit PHP 8 kompatibel ist.
 

wo0dle

Sehr aktives Mitglied
6. Oktober 2015
148
32
Folgende Tests haben wir gemacht um es erneut zu testen.
alle Plugins abgeschaltet und Standard Nova Template, die DL führen leider immer noch auf eine 500 Seite (HTTP ERROR 500).
Nutzt keiner das Download Modul in Verbindung mit PHP8? Wenn man im Kundenmenü auf den freigeschalteten DL klickt kommt der 500 Fehler. Mit PHP7.4 funktioniert alles.
 

MHillmann

Moderator
Mitarbeiter
11. Oktober 2018
1.367
535
Hallo @wo0dle

konnte das Problem mittlerweile behoben werden?
Spontan sehe ich im Code nicht wo das Problem liegen könnte, aber das sollte eigentlich schnell debugged sein. Mach am besten einfach mal ein Supportticket auf.

Viele Grüße
Michael
 
  • Gefällt mir
Reaktionen: wo0dle

Predpray

Sehr aktives Mitglied
26. Oktober 2018
391
49
Zehdenick
Firma
Born-Store
Da schließe ich mich mal an. Habe meinen Shop auch auf PHP 7.4 laufen. Eigentlich sollte ionCUBe bereits auf 8.1 laufen. Mein Hoster hat ihn für PHP 8.0 nicht bekommen aber für PHP 8.1. Dennoch wird nach einem umschalten auf die PHP 8.1 nur eine weiße Seite gezeigt (500er).
Nutze NOVA alles aktuell. Wäre interessant zu wissen wo hier der Bug ist. Alle anderen Seiten laufen bereits mit PHP 8.1
Gruß
 

Predpray

Sehr aktives Mitglied
26. Oktober 2018
391
49
Zehdenick
Firma
Born-Store

wo0dle

Sehr aktives Mitglied
6. Oktober 2015
148
32
Hallo,

wir haben das Problem eingegrenzt, Fehler mit der weißen Seite wurde nur erzeugt wenn der Download begrenzt ist, in unserem Fall kann ein DL 3x geladen werden (0/3)
Wenn der DL noch nicht runtergeladen wurde, kam es zum Fehler. Der Hotfix unten behebt das Problem.

Von JTL Entwicklung einen passenden Hotfix erhalten:

Als Hotfix die Zeile (399) in /includes/src/Extensions/Download\Download.php

if (\count($history[$download->kDownload]) >= $download->getAnzahl()) {

ersetzen durch

if (\count($history[$download->kDownload] ?? []) >= $download->getAnzahl()) {



mfg
 
Zuletzt bearbeitet:

Ähnliche Themen