Durchführen eines Upgrades

Sie können On-Premise-Bereitstellungen der Adobe Commerce-Anwendung über die Befehlszeile aktualisieren, wenn Sie die Software wie folgt installiert haben:

  • Herunterladen des Composer-Metapakets mit dem composer create-project.
  • Installieren des komprimierten Archivs.
NOTE

Die folgenden Anweisungen zeigen Ihnen, wie Sie mit dem Composer Package Manager ein Upgrade durchführen. Mit Adobe Commerce 2.4.2 wurde Unterstützung für Composer 2 eingeführt. Wenn Sie versuchen, von <2.4.1 auf eine Version zu aktualisieren, die mit Composer 2 kompatibel ist (z. B. 2.4.2), müssen Sie zunächst Composer 1 vor aktualisieren auf Composer 2 für >2.4.2-Upgrades. Außerdem muss eine (unterstützte Version von PHPwerden.

WARNING
Das Verfahren zum Aktualisieren von Adobe Commerce wurde geändert. Sie müssen eine neue Version des magento/composer-root-update-plugin installieren (siehe Voraussetzungen). Darüber hinaus wurden die Befehle zum Aktualisieren von composer require magento/<package_name> in composer require-commerce magento/<package_name> geändert.

Bevor Sie beginnen

Sie müssen die Upgrade-Voraussetzungen abschließen, um Ihre Umgebung vorzubereiten, bevor Sie den Upgrade-Prozess starten.

Verwalten von Paketen

NOTE
In den Beispielen am Ende dieses Abschnitts finden Sie Hilfe bei der Angabe verschiedener Versionsebenen. Beispielsweise hochwertige Patches und Sicherheits-Patches. Wenn Sie diese Pakete nicht in Composer finden können, wenden Sie sich an den Adobe Commerce-Support.
  1. Wechseln Sie in den Wartungsmodus, um den Zugriff auf Ihren Store während des Upgrade-Prozesses zu verhindern.

    code language-bash
    bin/magento maintenance:enable
    

    Siehe Aktivieren oder Deaktivieren des) für zusätzliche Optionen. Optional können Sie eine benutzerdefinierte Wartungsmodusseite“.

  2. Das Starten des Upgrade-Prozesses während der Ausführung asynchroner Prozesse, z. B. der Nachrichtenwarteschlange für Verbraucher, kann zu Datenbeschädigungen führen. Um Datenbeschädigungen zu verhindern, deaktivieren Sie alle Cron-Aufträge.

    Adobe Commerce auf Cloud-Infrastruktur:

    code language-bash
    ./vendor/bin/ece-tools cron:disable
    

    Magento Open Source:

    code language-bash
    bin/magento cron:remove
    
  3. Starten Sie alle Nachrichtenwarteschlangenbenutzer manuell, um sicherzustellen, dass alle Nachrichten verarbeitet werden.

    code language-bash
    bin/magento cron:run --group=consumers
    

    Warten Sie, bis der Cron-Vorgang abgeschlossen ist. Sie können den Status des Auftrags mit einem Prozess-Viewer überwachen oder indem Sie den ps aux | grep 'bin/magento queue'-Befehl mehrmals ausführen, bis alle Prozesse abgeschlossen sind.

  4. Erstellen Sie eine Sicherung der composer.json.

    code language-bash
    cp composer.json composer.json.bak
    
  5. Fügen Sie bestimmte Pakete je nach Bedarf hinzu oder entfernen Sie sie.

    Wenn Sie beispielsweise ein Upgrade von Magento Open Source auf Adobe Commerce durchführen, entfernen Sie das Magento Open Source-Package.

    code language-bash
    composer remove magento/product-community-edition --no-update
    

    Sie können auch Beispieldaten aktualisieren.

    code language-bash
    composer require <sample data module-1>:<version> ... <sample data module-n>:<version> --no-update
    
    • Adobe Commerce:

      code language-bash
      composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.*  magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* magento/module-gift-card-sample-data:100.4.* magento/module-customer-balance-sample-data:100.4.* magento/module-target-rule-sample-data:100.4.* magento/module-gift-registry-sample-data:100.4.* magento/module-multiple-wishlist-sample-data:100.4.* --no-update
      
    • Magento Open Source:

      code language-bash
      composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.*  magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* --no-update
      
  6. Aktualisieren Sie Ihre Instanz mithilfe der folgenden composer require-commerce-Befehlssyntax:

    code language-bash
    composer require-commerce magento/<product> <version> --no-update [--interactive-root-conflicts] [--force-root-updates] [--help]
    

    Zu den Befehlsoptionen gehören:

    • <product> - (Erforderlich) Das zu aktualisierende Paket. Bei On-Premise-Installationen muss dieser Wert entweder product-community-edition oder product-enterprise-edition sein.

    • <version> - (Erforderlich) Die Adobe Commerce-Version, auf die Sie ein Upgrade durchführen. Beispiel: 2.4.3.

    • --no-update -(Erforderlich) Deaktiviert die automatische Aktualisierung der Abhängigkeiten.

    • --interactive-root-conflicts - (Optional) Ermöglicht die interaktive Anzeige und Aktualisierung veralteter Werte aus früheren Versionen oder benutzerdefinierter Werte, die nicht mit der Version übereinstimmen, auf die Sie ein Upgrade durchführen.

    • --force-root-updates - (Optional) Überschreibt alle im Konflikt stehenden benutzerdefinierten Werte mit den erwarteten Commerce-Werten.

    • --help - (Optional) Enthält Nutzungsdetails zum Plug-in.

    Wenn weder --interactive-root-conflicts noch --force-root-updates angegeben sind, behält der Befehl die vorhandenen Werte bei, die in Konflikt stehen, und zeigt eine Warnmeldung an. Weitere Informationen zum Plug-in finden Sie in der README zur Verwendung von Plug-ins.

  7. Aktualisieren Sie die Abhängigkeiten.

    code language-bash
    composer update
    

Beispiel - Liste der verfügbaren Versionen

So zeigen Sie die vollständige Liste der verfügbaren 2.4.x-Versionen an:

Magento Open Source:

composer show magento/product-community-edition 2.4.* --available | grep -m 1 versions

Adobe Commerce:

composer show magento/product-enterprise-edition 2.4.* --available | grep -m 1 versions

Beispiel - Qualitäts-Patch

Qualitäts-Patches enthalten hauptsächlich funktionale und Sicherheitskorrekturen. Sie können jedoch manchmal neue, abwärtskompatible Funktionen enthalten. Verwenden Sie Composer, um einen Qualitäts-Patch herunterzuladen.

Adobe Commerce:

composer require-commerce magento/product-enterprise-edition 2.4.6 --no-update

Magento Open Source:

composer require-commerce magento/product-community-edition 2.4.6 --no-update

Beispiel - Sicherheits-Patch

Sicherheits-Patches enthalten nur Sicherheitskorrekturen. Sie wurden entwickelt, um den Upgrade-Prozess schneller und einfacher zu machen. Sicherheits-Patches verwenden die Composer-Namenskonvention 2.4.x-px.

Adobe Commerce:

composer require-commerce magento/product-enterprise-edition 2.4.6-p3 --no-update

Magento Open Source:

composer require-commerce magento/product-community-edition 2.4.6-p3 --no-update

Aktualisieren von Metadaten

  1. Aktualisieren Sie die Felder "name", "version" und "description" in der composer.json nach Bedarf.

    note note
    NOTE
    Die Aktualisierung der Metadaten in der composer.json-Datei ist nur oberflächlich, nicht funktionsfähig.
  2. Aktualisierungen anwenden.

    code language-bash
    composer update
    
  3. Löschen Sie die var/ und generated/ Unterverzeichnisse:

    code language-bash
    rm -rf var/cache/*
    
    code language-bash
    rm -rf var/page_cache/*
    
    code language-bash
    rm -rf generated/code/*
    
    note note
    NOTE
    Wenn Sie einen anderen Cache-Speicher als das Dateisystem verwenden, z. B. Redis oder Memcached, müssen Sie den Cache auch dort manuell löschen.
  4. Datenbankschema und -daten aktualisieren.

    code language-bash
    bin/magento setup:upgrade
    
  5. Deaktivieren Sie den Wartungsmodus.

    code language-bash
    bin/magento maintenance:disable
    
  6. (optional) Lack neu starten.

    Wenn Sie Lack für das Zwischenspeichern von Seiten verwenden, starten Sie es neu:

    code language-bash
    service varnish restart
    

Überprüfen Sie Ihre Arbeit

Um zu überprüfen, ob das Upgrade erfolgreich war, öffnen Sie Ihre Storefront-URL in einem Webbrowser. Wenn das Upgrade nicht erfolgreich war, wird Ihre Storefront nicht ordnungsgemäß geladen.

Wenn die Anwendung mit einem We're sorry, an error has occurred while generating this email. Fehler fehlschlägt:

  1. Setzen Sie Dateisysteminhaber und -berechtigungen als Benutzer mit root zurück.

  2. Löschen Sie die folgenden Ordner:

    • var/cache/
    • var/page_cache/
    • generated/code/
  3. Überprüfen Sie Ihre Storefront in Ihrem Webbrowser erneut.

recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea