So aktualisieren Sie Magento 2: Ein sicherer Schritt-für-Schritt-Upgrade-Leitfaden

Die Aktualisierung von Magento 2 muss nicht beängstigend sein. Dieser Schritt-für-Schritt-Leitfaden behandelt Planung, Kompatibilitätsprüfungen, Composer-Befehle, Tests und Rollbacks, damit Ihr Shop sicher und stabil bleibt.

Die Aktualisierung von Magento 2 ist entscheidend. Jede Version bringt Sicherheitsupdates, und ältere Versionen erhalten schließlich keine Patches mehr. Dennoch verschieben viele Shops die Upgrades, weil das letzte schlecht verlief.

Die meisten fehlgeschlagenen Upgrades werden durch mangelhafte Vorbereitung verursacht, nicht durch Magento selbst. Dieser Leitfaden zeigt einen sicheren, wiederholbaren Prozess.

Warum upgraden?

  • Sicherheit: Ältere Versionen erhalten keine Sicherheitsupdates mehr. Ein nicht gepatchter Shop ist ein Ziel für Kartenleser und Angriffe.
  • Kompatibilität: neue PHP-, MySQL/MariaDB-, OpenSearch- und andere Dienstversionen erfordern neuere Magento-Versionen.
  • Leistung und Fehlerbehebungen
  • Erweiterungsunterstützung: Anbieter stellen im Laufe der Zeit die Unterstützung für alte Versionen ein.

Arten von Upgrades

Typ Beispiel Risiko
Sicherheitspatch Anwenden eines isolierten Sicherheitspatches Niedrig
Patch-Version 2.4.x-p1 auf 2.4.x-p2 Niedrig bis mittel
Kleinere/Funktionsveröffentlichung 2.4.x bis 2.4.y Mittel bis hoch
Infrastrukturänderung Neue PHP- oder Datenbankversion zusammen mit Magento Hoch

Überprüfen Sie die Versionshinweise und die Lebenszyklusrichtlinie von Adobe, um zu erfahren, welche Versionen unterstützt werden und bis wann.

Schritt 1: Überprüfen Sie die Systemanforderungen

Jede Magento-Version unterstützt spezifische Versionen von:

  • PHP
  • MySQL oder MariaDB
  • OpenSearch (oder Elasticsearch für ältere Versionen)
  • Redis, Varnish, RabbitMQ
  • Komponist

Vergleichen Sie die Anforderungen Ihrer Zielversion mit Ihrem Server. Das Upgrade der Infrastruktur ist oft Teil des Projekts.

Schritt 2: Überprüfung von Erweiterungen und Anpassungen

Hierher kommen die meisten Probleme.

  1. Liste alle Module auf:
bin/magento module:status
composer show | grep -v magento/
  1. Überprüfen Sie für jede Drittanbietererweiterung, ob der Anbieter Ihre Zielversion unterstützt.
  2. Überprüfen Sie benutzerdefinierte Module auf veralteten Code, entfernte Klassen und geänderte Schnittstellen.
  3. Überprüfen Sie die Themenüberschreibungen: Von der Kernanwendung kopierte Vorlagen müssen möglicherweise aktualisiert werden.
  4. Entfernen Sie Erweiterungen, die Sie nicht verwenden.

Schritt 3: Bereiten Sie eine Testumgebung vor

Upgrade die Produktion niemals zuerst. Deine Staging-Umgebung sollte der Produktion entsprechen:

  • Die gleichen PHP- und Dienstversionen wie die Ziel-Konfiguration
  • Eine aktuelle Kopie der Produktionsdatenbank (anonymisiert)
  • Die gleiche Konfiguration und Erweiterungen

Schritt 4: Sichern Sie alles

  • Datenbank-Dump
  • Code (dein Git-Repository)
  • app/etc/env.php und app/etc/config.php
  • Medien-Dateien

Und stellen Sie sicher, dass Sie wissen, wie Sie sie wiederherstellen können. Ein Rollback-Plan ist Teil des Upgrades.

Schritt 5: Führen Sie das Upgrade in der Staging-Umgebung aus

Aktiviere den Wartungsmodus:

bin/magento maintenance:enable

Aktualisieren Sie die Magento-Version-Anforderung mit Composer (Beispiel für Magento Open Source):

composer require-commerce magento/product-community-edition 2.4.x-pX --no-update
composer update

Der require-commerce Befehl stammt vom Update-Plugin für die Composer-Wurzel von Magento, das auch andere Wurzelabhängigkeiten aktualisiert. Alternativ können Sie composer.json manuell aktualisieren und composer update ausführen.

Dann:

rm -rf generated/code/* var/cache/* var/page_cache/* var/view_preprocessed/*
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento indexer:reindex
bin/magento cache:flush
bin/magento maintenance:disable

Ersetzen Sie 2.4.x-pX durch Ihre Zielversion. Für weitere Befehle siehe mein Magento 2 Befehle Spickzettel.

Schritt 6: Fehler beheben

Häufige Probleme:

  • Composer-Konflikte: Eine Erweiterung benötigt eine ältere Version einer Abhängigkeit. Aktualisieren oder ersetzen Sie die Erweiterung.
  • Kompilierungsfehler: Benutzerdefinierter Code verwendet entfernte Klassen oder geänderte Methodensignaturen.
  • Datenbankschema-Fehler: Das deklarative Schema eines Moduls steht im Konflikt mit der neuen Version.
  • Frontend-Probleme: veraltete Template-Überschreibungen in Ihrem Theme.

Schritt 7: Gründlich testen

Mindestens:

  • Startseite, Kategorie, Produkt, Suchseiten
  • In den Warenkorb, Warenkorb, Kasse mit jeder Zahlungs- und Versandmethode
  • Kundenregistrierung, Anmeldung, Kontoseiten
  • Admin: Bestellungen, Rechnungen, Gutschriften, Produktänderungen, Importe
  • E-Mails (Bestellbestätigung, Passwort zurücksetzen)
  • Integrationen: ERP, PIM, Feeds, Analytik, Tracking
  • Cron-Jobs und Indizes
  • Leistung im Vergleich zu vorher

Automatisierte Tests helfen sehr bei wiederholten Upgrades.

Schritt 8: In Produktion bereitstellen

  • Wählen Sie einen ruhigen Moment (nicht vor einem Verkauf oder Feiertag)
  • Verwenden Sie Ihre normale Bereitstellungspipeline, keine manuellen Änderungen auf dem Server.
  • Überwachen Sie die Protokolle (var/log/exception.log, var/log/system.log), Fehler und die Konversionsrate nach der Veröffentlichung

Rollback-Plan

Wenn etwas ernsthaft schiefgeht:

  1. Aktivieren Sie den Wartungsmodus
  2. Stellen Sie die vorherige Code-Version wieder her
  3. Stellen Sie das Datenbank-Backup wieder her (Hinweis: Bestellungen, die nach dem Backup aufgegeben wurden, benötigen Aufmerksamkeit)
  4. Caches leeren und Wartung deaktivieren

Bestellungen, die zwischen dem Upgrade und einem Rollback aufgegeben werden, stellen das größte Risiko dar. Halten Sie das Zeitfenster kurz und testen Sie im Voraus gründlich.

Wie oft sollten Sie ein Upgrade durchführen?

Planen Sie, Sicherheitsupdates kurz nach der Veröffentlichung anzuwenden, und führen Sie größere Versionsupdates mindestens einmal im Jahr durch. Kleine, regelmäßige Updates sind viel einfacher als ein großer Sprung alle paar Jahre.

Häufig gestellte Fragen

Wie lange dauert ein Magento-Upgrade?

Ein Patch-Upgrade in einem sauberen Shop kann Stunden dauern. Ein Versionsupgrade mit vielen Erweiterungen und Infrastrukturänderungen kann Wochen in Anspruch nehmen, einschließlich Tests.

Kann ich Versionen überspringen?

Ja, Sie können direkt auf die Zielversion upgraden, aber überprüfen Sie die Versionshinweise jeder Version dazwischen auf breaking changes.

Muss ich gleichzeitig auf Hyvä upgraden?

Nein. Halten Sie Upgrades und Frontend-Projekte, wo immer möglich, getrennt, um das Risiko zu minimieren. Wenn Sie bereit sind, sehen Sie sich meinen Luma zu Hyvä Migrationsleitfaden an.

Benötigen Sie ein sicheres Magento-Upgrade?

Ich plane und führe Magento 2 und Adobe Commerce Upgrades durch, einschließlich Erweiterungsprüfungen, Infrastrukturaktualisierungen und Tests. Siehe meinen Magento 2 und Hyvä Service oder fordere einen Upgrade-Plan an.