Durchführen eines Upgrades

Sie können über die Befehlszeile eine Aktualisierung von lokalen -Implementierungen der Adobe Commerce-Anwendung durchführen, wenn Sie die Software installiert haben, indem Sie:

  • Herunterladen des Composer-Metapakets mit dem Befehl composer create-project .
  • 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, ein Upgrade von <2.4.1 durchzuführen, müssen Sie zunächst ein Upgrade auf eine Version durchführen, die mit Composer 2 kompatibel ist (z. B. 2.4.2), indem Sie Composer 1 vor Upgrade auf Composer 2 für >2.4.2-Upgrades verwenden. Darüber hinaus müssen Sie eine unterstützte Version von PHP ausführen.

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

Bevor Sie beginnen

Sie müssen die Upgrade-Voraussetzungen erfüllen, um Ihre Umgebung vorzubereiten, bevor Sie den Aktualisierungsprozess starten.

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
    

    Weitere Optionen finden Sie unter Wartungsmodus aktivieren oder deaktivieren . Optional können Sie eine benutzerdefinierte Seite für den Wartungsmoduserstellen.

  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 in der 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 den Befehl ps aux | grep 'bin/magento queue' mehrmals ausführen, bis alle Prozesse abgeschlossen sind.

  4. Erstellen Sie eine Sicherung der Datei "composer.json".

    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 mit 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 lokalen Installationen muss dieser Wert entweder product-community-edition oder product-enterprise-edition betragen.

    • <version> - (Erforderlich) Die Version von Adobe Commerce, 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 Ihnen 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 weder --interactive-root-conflicts noch --force-root-updates angegeben sind, behält der Befehl die vorhandenen Konfliktwerte bei und zeigt eine Warnmeldung an. Weitere Informationen zum Plug-in finden Sie in der Gebrauchsanleitung für Plug-ins.

  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 funktionale Sicherheitskorrekturen für und. 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 Felder "name", "version" und "description" in der Datei composer.json nach Bedarf.

    note note
    NOTE
    Die Aktualisierung der Metadaten in der Datei "composer.json" ist vollkommen oberflächlich und funktioniert nicht.
  2. Wenden Sie Aktualisierungen an.

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

    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) Varnish neu starten.

    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 einem We're sorry, an error has occurred while generating this email. -Fehler fehlschlägt:

  1. Zurücksetzen von Dateisystemeigentum und -berechtigungen 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