Neu Warnung: Update auf Shop 5.4

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
Ich muss das jetzt so schreiben.

Aktuell kann ich nur davor warnen, ohne genaue Prüfung, ein Update auf die 5.4 durchzuführen, es gibt eine Menge Plugins die derzeit, im 5.4er Shop, Fehler verursachen.
Hinzu kommt das Problem, dass wenn man Pech hat und der Lizenzserver wieder streikt, man keine Möglichkeit hat, Plugins aus dem Ext Store zu aktualisieren.

Plugins die derzeit gesichert Probleme verursachen sind z.B:

JTL DHL-Wunschzustellung (obwohl im Store steht das es im 5.4er geht)
AGB-Schnittstelle der IT-Recht Kanzlei
Plugins von mir sind auch nur bedingt, 5.4 kompatibel.

Wer also ein Update durchführt, sollte sich zuerst darüber Informieren, ob die verwendeten Plugins 5.4 kompatibel sind und daran denken, dass es auch im Template entscheidende Änderungen gab.
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
Kam beim Aufruf von /Bestellvorgang?wk=1
der Object Cache ist deaktiviert, kann das Problem also nicht verursacht haben


Code:
<br/>
<b>Fatal error</b>
:  Uncaught TypeError: preg_match(): Argument #2 ($subject) must be of type string, null given in /var/www/.../htdocs/plugins/jtl_dhlwunschpaket/classes/JtlPack.php:803
Stack trace:
#0 /var/www/.../htdocs/plugins/jtl_dhlwunschpaket/classes/JtlPack.php(803): preg_match('/^([0-9 -]* )?2...', NULL)
#1 /var/www/.../htdocs/plugins/jtl_dhlwunschpaket/Bootstrap.php(215): Plugin\jtl_dhlwunschpaket\classes\JtlPack-&gt;isShippingUsable(Array)
#2 /var/www/.../htdocs/plugins/jtl_dhlwunschpaket/Bootstrap.php(48): Plugin\jtl_dhlwunschpaket\Bootstrap-&gt;hook6(Object(Plugin\jtl_dhlwunschpaket\classes\JtlPack))
#3 /var/www/.../htdocs/includes/src/Events/Dispatcher.php(85): Plugin\jtl_dhlwunschpaket\Bootstrap-&gt;Plugin\jtl_dhlwunschpaket\{closure}(Array)
#4 /var/www/.../htdocs/includes/src/Plugin/HookManager.php(110): JTL\Events\Dispatcher-&gt;fire('shop.hook.6', Array)
#5 /var/www/.../htdocs/includes/defines.php(339): JTL\Plugin\HookManager-&gt;executeHook(6, Array)
#6 /var/www/.../htdocs/includes/src/Router/Controller/CheckoutController.php(1415): executeHook(6)
#7 /var/www/.../htdocs/includes/src/Router/Controller/CheckoutController.php(293): JTL\Router\Controller\CheckoutController-&gt;getStepDeliveryAddress()
#8 /var/www/.../htdocs/includes/src/Router/Controller/DefaultController.php(121): JTL\Router\Controller\CheckoutController-&gt;getResponse(Object(Laminas\Diactoros\ServerRequest), Array, Object(JTL\Smarty\JTLSmarty))
#9 /var/www/.../htdocs/includes/src/Router/Strategy/SmartyStrategy.php(42): JTL\Router\Controller\DefaultController-&gt;getResponse(Object(Laminas\Diactoros\ServerRequest), Array, Object(JTL\Smarty\JTLSmarty))
#10 /var/www/.../htdocs/includes/vendor/league/route/src/Route.php(167): JTL\Router\Strategy\SmartyStrategy-&gt;invokeRouteCallable(Object(League\Route\Route), Object(Laminas\Diactoros\ServerRequest))
#11 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): League\Route\Route-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#12 /var/www/.../htdocs/includes/src/Router/Middleware/MaintenanceModeMiddleware.php(43): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#13 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\MaintenanceModeMiddleware-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#14 /var/www/.../htdocs/includes/src/Router/Middleware/PhpFileCheckMiddleware.php(39): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#15 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\PhpFileCheckMiddleware-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#16 /var/www/.../htdocs/includes/src/Router/Middleware/OptinMiddleware.php(51): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#17 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\OptinMiddleware-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#18 /var/www/.../htdocs/includes/src/Router/Middleware/CurrencyCheckMiddleware.php(30): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#19 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\CurrencyCheckMiddleware-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#20 /var/www/.../htdocs/includes/src/Router/Middleware/LocaleCheckMiddleware.php(38): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#21 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\LocaleCheckMiddleware-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#22 /var/www/.../htdocs/includes/src/Router/Middleware/CartcheckMiddleware.php(27): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#23 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\CartcheckMiddleware-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#24 /var/www/.../htdocs/includes/src/Router/Middleware/WishlistCheckMiddleware.php(26): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#25 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\WishlistCheckMiddleware-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#26 /var/www/.../htdocs/includes/src/Router/Middleware/SSLRedirectMiddleware.php(45): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#27 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\SSLRedirectMiddleware-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#28 /var/www/.../htdocs/includes/src/Router/Middleware/MaintenanceModeMiddleware.php(43): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#29 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\MaintenanceModeMiddleware-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#30 /var/www/.../htdocs/includes/src/Router/Middleware/LocaleRedirectMiddleware.php(40): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#31 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): JTL\Router\Middleware\LocaleRedirectMiddleware-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#32 /var/www/.../htdocs/includes/vendor/league/route/src/Strategy/ApplicationStrategy.php(37): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#33 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(59): Psr\Http\Server\MiddlewareInterface@anonymous-&gt;process(Object(Laminas\Diactoros\ServerRequest), Object(League\Route\Dispatcher))
#34 /var/www/.../htdocs/includes/vendor/league/route/src/Dispatcher.php(53): League\Route\Dispatcher-&gt;handle(Object(Laminas\Diactoros\ServerRequest))
#35 /var/www/.../htdocs/includes/vendor/league/route/src/Router.php(111): League\Route\Dispatcher-&gt;dispatchRequest(Object(Laminas\Diactoros\ServerRequest))
#36 /var/www/.../htdocs/includes/src/Router/Router.php(721): League\Route\Router-&gt;dispatch(Object(Laminas\Diactoros\ServerRequest))
#37 /var/www/.../htdocs/includes/src/Shop.php(510): JTL\Router\Router-&gt;dispatch(Object(JTL\Smarty\JTLSmarty))
#38 /var/www/.../htdocs/index.php(9): JTL\Shop::dispatch()
#39 {main}
  thrown in <b>/var/www/.../htdocs/plugins/jtl_dhlwunschpaket/classes/JtlPack.php</b>
on line <b>803</b>
<br/>
 

OliverS

Sehr aktives Mitglied
Mitarbeiter
1. April 2022
137
69
Hückelhoven
Der Fehler sieht so aus, als wäre für mindestens eine aktive Funktion vom Plugin keine Versandart festgelegt oder eine Versandart, welche die Versandklassenkombination nicht bedient, bzw. NULL als Versandklassenkombination hat. Eventuell auch, weil die Versandart nicht mehr existiert oder falsch im Cache ist...
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
Wenn das Kind bereits in den Brunnen gefallen ist, hilft es unter umständen, in der config vom Shop dieses Define einzutragen, dass hilft aber nur Bedingt, da auch viele Funktionen nicht mehr existieren und Plugins die auf die io.php zugreifen um Ajax Requests durchzuführen auch ins leere laufen (hier würde vermutlich ein provisorischer redirekt in der .htaccess helfen).

Code:
define('NO_CLASS_ALIASES', false);

Aber das sollte man alles, wie beschrieben nicht als Wunderwaffe ansehen, besser ist es vorher alles zu prüfen und das Update eben nur durchzuführen wenn alles bereit dafür ist.
 

Groundhog

Sehr aktives Mitglied
11. Januar 2011
434
54
Austria
Wenn das Kind bereits in den Brunnen gefallen ist, hilft es unter umständen, in der config vom Shop dieses Define einzutragen, dass hilft aber nur Bedingt, da auch viele Funktionen nicht mehr existieren und Plugins die auf die io.php zugreifen um Ajax Requests durchzuführen auch ins leere laufen (hier würde vermutlich ein provisorischer redirekt in der .htaccess helfen).

Code:
define('NO_CLASS_ALIASES', false);

Aber das sollte man alles, wie beschrieben nicht als Wunderwaffe ansehen, besser ist es vorher alles zu prüfen und das Update eben nur durchzuführen wenn alles bereit dafür ist.

Ich würde je spitze finden, wenn man Plugins einfach über eine config Datei Notabschalten könnte. Wenn der Backend Zugang nämlich auch nicht mehr geht, dann biste nämlich ganz schnell aufgeschmissen. So ein globales

PHP:
deactivate_plugins('plugin-directory/plugin-file.php');

oder sowas.
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
Du musst ja theoretisch nur das Plugin Verzeichnis umbenennen oder mal das error_reporting aktivieren, dann siehst du wer zickt, dann benennst du das jeweilige Pluginverzeichnis sowie die darin liegende Bootstrap.php um und kannst dich dem nächsten Problem widmen.
 
  • Gefällt mir
Reaktionen: ergowebshop

Groundhog

Sehr aktives Mitglied
11. Januar 2011
434
54
Austria
Du musst ja theoretisch nur das Plugin Verzeichnis umbenennen oder mal das error_reporting aktivieren, dann siehst du wer zickt, dann benennst du das jeweilige Pluginverzeichnis sowie die darin liegende Bootstrap.php um und kannst dich dem nächsten Problem widmen.

Ja, das mach ich auch so, also meistens - kommt immer etwas aufs Plugin an - JTL Debug hab ich zum Beispiel einfach gelöscht. Ich mein auch eher, dass so einige Dinge einfach nicht fertig gedeacht sind. Ums mal zu konkretisieren: Ein angesicherter Modus den ich nicht aktiveren kann, weil die Page nicht erreichbar ist, ist wie ein Ersatzschlüssel im versperrten Fahrzeug. 😀
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
Es gibt auch das define

Code:
// disable all plugins and all elements provided by plugins, such as portlets, widgets payment methods, etc.
define('SAFE_MODE', true);

Aber das deaktiviert alle Plugins und ist am Ende nicht zielführend wenn man nicht weiß was das Problem verursacht.
 
  • Gefällt mir
Reaktionen: Groundhog

OliverS

Sehr aktives Mitglied
Mitarbeiter
1. April 2022
137
69
Hückelhoven
Es gibt auch das define

Code:
// disable all plugins and all elements provided by plugins, such as portlets, widgets payment methods, etc.
define('SAFE_MODE', true);

Aber das deaktiviert alle Plugins und ist am Ende nicht zielführend wenn man nicht weiß was das Problem verursacht.
/admin mit /admin?safemode=on aufrufen sollte auch gehen, wenn man grad kein FTP zur Hand hat.
 

Dee

Aktives Mitglied
20. Februar 2014
71
24
4481 Asten, Österreich
Firma
Merchfox Comic Shop
Ich gehöre leider auch zu den Kandidaten, die sich gleich freudig des Updates angenommen haben.
Vorallem über den Hersteller-Slider via OPC hab ich mich furchtbar gefreut.

Jetzt bin ich allerdings furchtbar aufgeschmissen, weil gar nichts mehr geht.
Hostingprovider kontaktiert mit der Bitte, das zu reparieren.

Code:
Fatal error: Uncaught Error: Class "Shop" not found in /var/www/vhosts/

Hätte ich nur vorher in das Forum geschaut - ich hab mich auch vom Apfel, in dem Fall der netten E-Mail von JTL, verleiten lassen.. hach ja.
 

Rainer S

Moderator
Mitarbeiter
8. August 2018
952
203
Die Fatal Error meldung deutet auf das Ara Plugin hin, das einmal deaktivieren oder deinstallieren. Wichtig auch wenn es mehrfach erwähnt wird auch im Guide, bitte vor einem Shopupdate immer die Kompatibilitäten prüfen von Plugins und Templates.

Fatal error: Uncaught Error: Class "Shop" not found in /var/www/vhosts/merchfox.at/httpdocs/plugins/ara_language/
 
  • Gefällt mir
Reaktionen: Dee

Dee

Aktives Mitglied
20. Februar 2014
71
24
4481 Asten, Österreich
Firma
Merchfox Comic Shop
Die Fatal Error meldung deutet auf das Ara Plugin hin, das einmal deaktivieren oder deinstallieren. Wichtig auch wenn es mehrfach erwähnt wird auch im Guide, bitte vor einem Shopupdate immer die Kompatibilitäten prüfen von Plugins und Templates.

Fatal error: Uncaught Error: Class "Shop" not found in /var/www/vhosts/merchfox.at/httpdocs/plugins/ara_language/
Du bist ein Schatz, ich danke dir!
Habe gelernt und greife diesbezüglich ab sofort gar nichts mehr an und lasse nur noch Hosting Provider bzw. Servicepartner ran. 🙈
 

Rainer S

Moderator
Mitarbeiter
8. August 2018
952
203
Habe gelernt und greife diesbezüglich ab sofort gar nichts mehr an und lasse nur noch Hosting Provider bzw. Servicepartner ran. 🙈
Das sollte es nun nicht heißen. Aber hier im Support ist leider wirklich grad jede 3. anfrage aufgrund dessen das vorher die Kompatibilität nicht geprüft wurde, zumindest im Extensionstore geschaut ob die genutzten Plugins eine 5.4 freigabe haben.
 
  • Gefällt mir
Reaktionen: wo0dle

Ähnliche Themen