PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Update klappt nicht / HTTP Fehler 500 resp. weisse Seite



lukelukeluke
23.11.2020, 18:02
Hallo zusammen

Wollte schon bei nem anderen Thread antworten aber dort erscheint mein Beitrag nicht... drum starte ich hier mal einen Thread mit meinem Problem, in der Hoffnung wer kann helfen.

Versuche einen Shop v3.10.0.3 (PHP 7.4.12 / DB 10.4.16-MariaDB) zu Updaten. Habe diese Update-Reihenfolge zu Hilfe genommen: https://ecomservice.interfile.de/threads/1001, also: 3.10.0.5, 3.11.1.2, 3.12.0.4, 3.13.1.1, 3.14.0.3, 3.15.1.2, 4.0.0.1, 4.1.1.2, 4.2.0.1
(Habe davor mal weniger Updates gemacht: z.B. bei "3.14.0.3" steht es wäre geeignet für "3.12.0.0 bis 3.14.0.2", also demnach wäre "3.13.1.1" nicht nötig gewesen, hat aber den gleichen Fehler gegeben.)

Leider bekomme ich immer das gleiche Problem: Weisse Seite mit HTTP Error 500 im Frontend sowie im Admin-Bereich. Im Log steht u.A. etwas von ApplicationTopPrimalExtenderComponent:

==> logfiles/php-error-handler.log.json <==
{"message":"Class not found in registry: ApplicationTopPrimalExtenderComponent - template_blank. The registry cache was cleared. Please reload the page.","context":{"message":"Class not found in registry: ApplicationTopPrimalExtenderComponent - template_blank. The registry cache was cleared. Please reload the page.","code":256,"file":"/Volumes/DATA/XAMPP7/xamppfiles/htdocs/shop/system/core/MainFactory.inc.php","line":434,"context":{"p_class_name":"ApplicationTopPrimalExtenderComponent","p_args_array":[]....usw.

Natürlich caches geleert (Ordner "cache" und alle Unterordner geleert, sowie "templates_c" geleert). Hab ein paar Unklarheiten:

In den Update-Anleitungen steht die Files sollen jeweils ersetzt werden. Damit ist aber wohl "mergen" gemeint? Also wenn Gambio diese Struktur hat:

a.ext
b/c.ext
b/d.ext
b/e.ext
und Update/Shopsystem/Dateien hat folgende:

b/e.ext
b/f.ext
Dann soll die neue Struktur wohl so aussehen?:

a.ext
b/c.ext
b/d.ext
b/e.ext (wurde überschrieben)
b/f.ext (neu angelegt)
Also nicht einfach das Zeug in Dateien rüberschieben und alles ersetzen? Das würde nämlich den Ordner "b" überschreiben und es wäre nur noch b/e.ext und b/f.ext drin... Jedenfalls fehlt mir das richtige Tool zum mergen, also habe ich mir folgendes Skript "updater.sh" gemacht, welches ich jeweils in Shopsystem/Dateien vom Update kopiere und von dort auf der Kommandozeile so aufrufe: ./updater.sh /path/to/gambio/shop. Das Skript sieht so aus:

#!/bin/sh
# ./updater.sh /Volumes/DATA/XAMPP7/htdocs/vogtshop3
if [ -z "$1" ]; then
echo "Bitte Zielordner angeben: ./updater.sh /path/to/sync/files"
exit;
fi
find * -print0 | while read -d $'\0' file
do
if [ -f "$file" ]; then
if [ "$file" != "updater.sh" ]; then
mv -f "$file" "$1/$file"
fi
fi
if [ -d "$file" ]; then
mkdir -p "$1/$file"
fi
done
Ist dies das richtige Vorgehen?

Was ich mir auch noch unsicher bin: Beim Updaten kommen Files die noch gelöscht und verschoben werden müssen, das hab ich jeweils gemacht.
Aber dann kommen auch noch die Berechtigungen die korrigiert werden müssen (chmod 777) und .htaccess welche neu kopiert werden muss. Dies habe ich jeweils erst nach dem letzten Update gemacht. Entsprechend lange war diese Liste. Geht das so oder muss es nach jedem Update unbedingt gemacht werden?

Vielen Dank für die Inputs!

rf-musik
25.11.2020, 19:20
du solltest die php version nicht mit 7.4 beginnen das kann die alte version 3.10 nicht.
php auf 7.2 und dann starte nochmal

lukelukeluke
27.11.2020, 13:34
Hallo rf-musik, danke für den Input!
Habe nun auf PHP 7.1 eingestellt (gem. diesem Thread (https://ecomservice.interfile.de/threads/2001-Uralt-Shop-wie-Updaten))
Danach hab ich (ausgehend von meiner Version v3.10.0.3) folgende Updates eingespielt:
- Update Master v3.10.0.5
- Update Service Pack v3.11.1.2
- Update Master v3.12.0.1
- Update Master v3.12.0.4
- Update Service Pack v3.13.1.1
- Update Master v3.14.0.3
- Update Service Pack v3.15.1.2
Diese Reihenfolge anhand von diesem Thread (https://ecomservice.interfile.de/threads/1001). Also nur die Updates nach der ersten Abstufung. Ist diese Reihenfolge korrekt?

Jedenfalls hat das nix gebracht, nach caches löschen und Browser Neustart / Frontend in Inkognito-Tab aufrufen, kommt dort:
USER ERROR(256): "Class not found in registry: ApplicationTopPrimalExtenderComponent - template_blank. The registry cache was cleared. Please reload the page."

Hätte ich ebenfalls folgende (in fettgedruckt) installieren müssen?:
- Update Master v3.10.0.5
- ServicePack GX v3.10.1.1
- ServicePack GX v3.10.2.0
- ServicePack GX v3.10.3.0
- Update Service Pack v3.11.1.2
- ServicePack GX v3.11.2.0
- ServicePack GX v3.11.3.0
- Update Master v3.12.0.1
- usw...?
Mit anderen Worten ebenfalls die Abstufung welche von unten kommt (gem. dem Update Thread (https://ecomservice.interfile.de/threads/1001))?
Das komische ist, dass bei z.B. "ServicePack GX v3.11.1.2" vom 08.11.2018 steht: "ab v3.10.0.0 bis v3.11.1.1". Das heisst aber nicht, dass ich dieses Update installieren kann auf 3.10.x.x?
Vielen Dank für die Hilfe!

KlausK
27.11.2020, 16:53
Ausgehend von Version 3.10.0.3 sollten diese Updates reichen, wenn du auf den neuesten Stand willst:

Masterupdate GX v3.12.0.4 vom 23.04.2019 (ab v3.10.0.0 bis v3.12.0.3) - Update mit PHP v7.1.x ausführen
Masterupdate GX v3.14.0.3 vom 20.02.2020 (ab v3.12.0.0 bis v3.14.0.2) - Update mit PHP v7.1.x ausführen
Masterupdate GX v4.0.0.1 vom 26.03.2020 (ab v3.14.0.0 bis v3.15.4.2) - Update mit PHP v7.2.x ausführen
Masterupdate GX v4.2.0.1 vom 09.11.2020 (ab v4.0.0.0 bis v4.2.0.0) - Update mit PHP v7.3.x ausführen

Mit Version 4.3.1.0 würde ich noch ein paar Tage warten.

Wenn du den StyleEdit hast, den du z.B. aus einem früheren Supportvertrag mit Gambio hattest, musst du den für das erste Masterupdate GX v3.12.0.4 deaktivieren, Verzeichnis einfach Umbenennen. Bis Version 3.13.0.0 war der StyleEditor noch Eigentum der Gambio GmbH und wurde danach unter GPL gestellt.

Hast du vielleicht noch EyeCandy und MobileCandy drin? Das muss raus. Das wird nicht mehr unterstützt.

Prüfe deinen Shop bitte nach jedem einzelnen Update in Ruhe und gewissenhaft.
Außerdem solltest du alle Module, die du irgendwann dazu gekauft hast auf Kompatibilität prüfen und notfalls vorher deinstallieren.
Auch evtl. angelegte Usermods können Probleme machen.

Ein weiteres großes Problem sind unvollständige Uploads. Achte unbedingt auf Fehlermeldungen deines FTP-Clients "FileZilla", "WinSCP", whatever.

Und wie Ralf schon sagte: Unbedingt die geforderten PHP-Versionen beachten!


"ServicePack GX v3.11.1.2" vom 08.11.2018 steht: "ab v3.10.0.0 bis v3.11.1.1"
Was ist daran falsch?
Das ServicePack aktualisiert deinen Shop auf die Version 3.11.1.2 - geeignet für die Shopversionen ab 3.10.0.0 bis 3.11.1.1.
Mag sein, dass ich Betriebsblind bin, aber ich sehe da jetzt kein Problem :confused:

lukelukeluke
30.11.2020, 16:40
Hallo rf-musik, Danke für den Tipp mit der PHP Version! Habe jetzt noch unzählige male Updates installiert und jeweils wenns nicht ging wieder Backup zurückgespielt. Habe mit PHP 7.1.x gearbeitet bis/mit Update 4.0.0.1. Danach weiter versucht mit PHP 7.2.x (immer die mittlere vom Shop unterstützte Version). In der ganzen Prozedur ist mir folgendes aufgefallen:

Nach Service Pack v3.14.0.1 kommt ein Anzeigefehler (als wäre kein CSS geladen) und eine Fehlermeldung, die Datei vendor/natxet/cssmin/src/CssMin.php könne nicht geladen werden. Habe nach dem Update diese Datei einfach noch mal aus dem Update Ordner in den Shop rüberkopiert (wurde durch das Update wohl gelöscht...?

Nach Service Pack GX v3.15.1.2 kommt der Fehler wie oben beschrieben: Class not found in registry: ApplicationTopPrimalExtenderComponent ...
Nach diesem Update habe ich einfach den gesamten Ordner system/extender aus dem Backup vor dem Update in den Shop nach dem Update reinkopiert. Dieser Ordner hat gänzlich gefehlt mit allen Dateien. Danach funktionierte alles, Shop vorne und Adminbereich.

Nun kann ich noch bis/mit Master Update v4.0.0.1 updaten. Danach geht nix mehr. Bei Installation aller weiterer Updates kommt immer bei der Updateinstallation (z.B. Service Pack v4.1.1.0 oder Master Update v4.2.0.1):

Interner Server Error: Update wurde aus unbekannten Gründen abgebrochen.
Was könnte das sein / wie kann man das debuggen?
In der php-error-handler.log.txt steht u.A.:

[2020-11-30 07:42:21 | ERROR] Uncaught PDOException: could not find driver in /Applications/XAMPP/xamppfiles/htdocs/shop/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27
context:
message: Uncaught PDOException: could not find driver in /Applications/XAMPP/xamppfiles/htdocs/shop/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27
Stack trace:
#0 /Applications/XAMPP/xamppfiles/htdocs/shop/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(27): PDO->__construct('mysql:host=127....', 'root', '', Array)
#1 /Applications/XAMPP/xamppfiles/htdocs/shop/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php(25): Doctrine\DBAL\Driver\PDOConnection->__construct('mysql:host=127....', 'root', NULL, Array)
#2 /Applications/XAMPP/xamppfiles/htdocs/shop/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(362): Doctrine\DBAL\Driver\PDOMySql\Driver->connect(Array, 'root', NULL, Array)
#3 /Applications/XAMPP/xamppfiles/htdocs/shop/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(428): Doctrine\DBAL\Connection->connect()
#4 /Applications/XAMPP/xamppfiles/htdocs/shop/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(388): Doctrine
code: 1
file: /Applications/XAMPP/xamppfiles/htdocs/shop/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php

Hab ich schon bei den bisherigen Updates zu viel an den Codefiles rumgemacht, obwohls nur damit weiter ging? Und auch immer schien der Shop komplett zu funktionieren...?

rf-musik
03.01.2021, 10:22
wenn Du eine Backup Datei deines alten Shop hast,
fange noch mal von vorne an,

und dann nimmst Du nur die Master Update

Wie Klaus geschrieben hat deaktiviere vorher Fremdmodule
nach jedem Update den Shop erneut prüfen!!!