Durchführen eines Upgrades

Sie können vor Ort Bereitstellungen der Adobe Commerce-Anwendung über die Befehlszeile, wenn Sie die Software installiert haben durch:

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

Die folgenden Anweisungen zeigen Ihnen, wie Sie ein Upgrade mit dem Composer Package Manager durchführen. Adobe Commerce 2.4.2 unterstützt Composer 2. Wenn Sie versuchen, von <2.4.1 zu aktualisieren, müssen Sie zunächst mithilfe von Composer 1 auf eine Version aktualisieren, die mit Composer 2 kompatibel ist (z. B. 2.4.2) before Upgrade auf Composer 2 für >2.4.2-Upgrades. Darüber hinaus müssen Sie eine unterstützte Version von PHP.

WARNING
Das Upgrade-Verfahren für Adobe Commerce wurde geändert. Sie müssen eine neue Version der magento/composer-root-update-plugin Paket (siehe Voraussetzungen). Darüber hinaus haben sich die Befehle für die Aktualisierung von composer require magento/<package_name> nach composer require-commerce magento/<package_name>.

Bevor Sie beginnen

Sie müssen die Upgrade-Voraussetzungen , um Ihre Umgebung vor dem Beginn des Aktualisierungsprozesses vorzubereiten.

Packages verwalten

NOTE
In den Beispielen am Ende dieses Abschnitts finden Sie Hilfe zum Festlegen verschiedener Release-Ebenen. Beispielsweise Qualitäts-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 während des Aktualisierungsprozesses den Zugriff auf Ihren Speicher zu verhindern.

    code language-bash
    bin/magento maintenance:enable
    

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

  2. Der Start des Aktualisierungsprozesses während der Ausführung asynchroner Prozesse, z. B. von Verbrauchern in der Nachrichtenwarteschlange, kann zu Datenbeschädigungen führen. Um Datenbeschädigungen zu vermeiden, deaktivieren Sie alle Cron-Aufträge.

    Adobe Commerce über 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 Verbraucher in der Nachrichtenwarteschlange manuell, um sicherzustellen, dass alle Nachrichten verbraucht werden.

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

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

  4. Erstellen Sie eine Sicherungskopie des composer.json -Datei.

    code language-bash
    cp composer.json composer.json.bak
    
  5. Fügen Sie spezifische Pakete entsprechend Ihren Anforderungen hinzu oder entfernen Sie sie.

    Wenn Sie beispielsweise von Magento Open Source auf Adobe Commerce aktualisieren, 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 ortsansässigen Anlagen muss dieser Wert entweder product-community-edition oder product-enterprise-edition.

    • <version> —(Erforderlich) Die Version von Adobe Commerce, auf die Sie aktualisieren. Beispiel: 2.4.3.

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

    • --interactive-root-conflicts —(Optional) Ermöglicht die interaktive Ansicht und Aktualisierung von nicht mehr aktuellen Werten aus früheren Versionen oder von benutzerdefinierten Werten, die nicht mit der Version übereinstimmen, auf die Sie aktualisieren.

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

    • --help —(Optional) Bietet Nutzungsdetails zum Plug-in.

    Wenn --interactive-root-conflicts nor --force-root-updates festgelegt 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 im Abschnitt Plug-in Usage README.

  7. Aktualisieren Sie die Abhängigkeiten.

    code language-bash
    composer update
    

Beispiel - Liste der verfügbaren Versionen

Die vollständige Liste der verfügbaren 2.4.x-Versionen finden Sie unter:

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 in erster Linie Funktionen 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 sind so konzipiert, dass der Aktualisierungsprozess schneller und einfacher wird. 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 "name", "version", und "description" -Felder in der composer.json Datei nach Bedarf.

    note note
    NOTE
    Aktualisieren der Metadaten im composer.json -Datei ist völlig oberflächlich, nicht funktionsfähig.
  2. Wenden Sie Aktualisierungen an.

    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. Wartungsmodus deaktivieren.

    code language-bash
    bin/magento maintenance:disable
    
  6. (Optional) Starten Sie Varnish neu.

    Wenn Sie für die Seiten-Zwischenspeicherung "Varnish"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 Ihr Upgrade nicht erfolgreich war, wird Ihre Storefront nicht ordnungsgemäß geladen.

Wenn die Anwendung mit einer We're sorry, an error has occurred while generating this email. error:

  1. Zurücksetzen Eigentümer und Berechtigungen des Dateisystems als Benutzer mit root -Berechtigungen.

  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