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:
Code:
==> 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:
Code:
a.ext
b/c.ext
b/d.ext
b/e.ext
und Update/Shopsystem/Dateien hat folgende:
Code:
b/e.ext
b/f.ext
Dann soll die neue Struktur wohl so aussehen?:
Code:
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:
Code:
#!/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!