Wie wende ich die Magento 2-Patches an?


11

Ich verwende Magento 2.1.6 und möchte den Patch anwenden CE-MAGETWO-67805.patch.

Wie kann ich die * .patch-Dateien anwenden?


Können Sie mir bitte helfen, die erforderlichen Patches für eine bestimmte Magento-Version zu finden? Gibt es ein Tool, mit dem Sie sie finden? oder sollten wir magento.com besuchen, um Informationen zu Patches zu erhalten?
Kalyan Chakravarthi V

Ich suchte nach bewährten Methoden, um diese Patches auf eine Magento 2 Composer-Installation anzuwenden. In diesem Artikel habe ich gepostet, wie wir Magento Source patchen. medium.com/@LarsRoettig/…
Lars Roettig

Antworten:


11

Traditionell

Sie können die traditionelle Methode verwenden:

git apply MAGEPatch-20181106.patch

oder

patch -p1 < MDVA-14172_EE_2.2.6_COMPOSER_v1.patch    

Komponist

Um die gleiche Situation mit Dateien zu lösen, die im Herstellerverzeichnis gepatcht werden, finden Sie hier einen guten Artikel: http://jamescowie.me/blog/2016/12/Composer-Magento-Patches/

Wir haben etwas Ähnliches in unserer Komponistendatei gemacht:

...
   "extra": {
        "magento-force": "override",
        "composer-exit-on-patch-failure": true,
        "patches": {
            "magento/module-cache-invalidate": {
                "GH 8815: Varnish purge requests can overrun size limit": "patches/composer/github-issue-8815.patch"
            },
        }
    }
...

In unserem Magento-Stammverzeichnis haben wir ein Patches / Composer-Verzeichnis, auf das wir verweisen, und im Abschnitt Extras / Patches teilen wir ihm mit, welches Magento-Modul gepatcht werden soll.

Ironischerweise fand ich diesen Beitrag, als ich mir ansah, wie dies gemacht wurde, nur um herauszufinden, dass unsere Lösung bereits von unserem ursprünglichen Anbieter vorhanden war.


5

Wenn Sie Git in Ihrer Umgebung installiert haben, kopieren Sie einfach den Patch auf Ihren Magento-Stammordner.

Dann benutze:

$ git apply MAGETWO-67805-2017-05-17-03-04-03.patch

1
Was ist, wenn man den Vendor-Ordner nicht als Teil des Git-Repositorys behält? Patcht das nicht einfach Core-Dateien direkt?
Dchayka

2

Wenn jemand dies über Composer tut, gibt es ein kostenloses Modul , mit dem Sie Patches von der CLI installieren können.

magento@ce87c6cc1cdf /home/magento/htdocs/$ php bin/magento patch:list
Magento Version: 2.3.0
PRODSECBUG-2198 - This patch provides protection against the SQL injection vulnerability described under PRODSECBUG-2198
More info can be found here: https://www.magentocommerce.com/products/downloads/magento/#download2288

magento@ce87c6cc1cdf /home/magento/htdocs/$ php bin/magento patch:add --patch=PRODSECBUG-2198
Patch: PRODSECBUG-2198
Message: PRODSECBUG-2198 - Added via Zero1_Patches
Magento Version: 2.3.0
SUCCESS!
The patch has been added to you composer.json
You can now run: "composer install" to apply the patch.
magento@ce87c6cc1cdf /home/magento/htdocs/$

Ich benutze es auf Mdoq , aber es kann überall verwendet werden.
Es gibt einen guten Blog - Post auf es hier


Ich habe versucht, dem Unternehmen eine E-Mail über das Hinzufügen von Patches zu senden, aber die E-Mail-Adresse ist fehlerhaft (support@mdoq.io). Es sieht auch so aus, als hätten sie seit etwa einem Jahr keine neuen Patches hinzugefügt. Dies scheint ein totes Projekt zu sein.
njm5785

1
  • Laden Sie die Patch-Datei herunter und legen Sie sie im Stammverzeichnis von Magento ab

  • Stellen Sie den Entwicklermodus mit dem folgenden Befehl ein:

    php bin/magento deploy:mode:set developer

  • Wenden Sie den Patch mit dem folgenden Befehl an:

    $ git apply CE-MAGETWO-93036-2018-07-02-07-06-53.patch

  • Die möglichen Warnungen und Fehler, die Sie erhalten können, sind:

Warnung: Hersteller / magento / Modul-E-Mail / Modell / Dateiname.php hat den Typ 100755, voraussichtlich 100644

Die obige Warnung bedeutet, dass die permissionsder FileName.php 755obwohl die erwarteten permissionssind 644.

Wenn Sie die Patch-Datei zweimal anwenden, wird eine Fehlermeldung erwartet, die der folgenden ähnelt:

Fehler: Patch fehlgeschlagen: Hersteller / magento / Modul-E-Mail / Modell / AbstractTemplate.php: 534

Fehler: Hersteller / Magento / Modul-E-Mail / Modell / AbstractTemplate.php: Patch gilt nicht

Es ist in Ordnung, den obigen Fehler oder die Warnung zu erhalten.

Ihr Patch wird weiterhin erfolgreich angewendet . Genießen ;)


0
  1. Stellen Sie sicher, dass sich Ihr Magento-Shop in befindet developer mode

    php bin/magento deploy:mode:set developer

  2. Laden Sie den Sicherheitspatch herunter

    git apply MAGETWO-67805-2017-05-17-03-04-03.patch

  3. Führen Sie danach einfach den folgenden Befehl aus, um den Patch anzuwenden

    php bin/magento setup:upgrade


Haben Sie eine Idee, wie Sie den Patch zuletzt entfernen können?
Dhaduk Mitesh
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.