Jak zastosować łatki Magento 2?

12

Używam Magento 2.1.6 i chcę zastosować łatkę CE-MAGETWO-67805.patch.

Jak mogę zastosować pliki * .patch?

Rafael Corrêa Gomes
źródło
czy możesz mi pomóc, jak znaleźć wymagane łatki do zainstalowania dla danej wersji Magento. Czy jest jakieś narzędzie, którego używasz do ich znalezienia? czy powinniśmy odwiedzić magento.com w celu uzyskania informacji o łatkach?
Kalyan Chakravarthi V
szukałem najlepszych praktyk, aby zastosować te łaty w instalacji Magento 2 Composer. W tym artykule opublikowałem, w jaki sposób łatamy źródło Magento. medium.com/@LarsRoettig/…
Lars Roettig

Odpowiedzi:

12

Tradycyjny

Możesz użyć tradycyjnej metody:

git apply MAGEPatch-20181106.patch

lub

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

Kompozytor

Lub, aby rozwiązać tę samą sytuację z łataniem plików w katalogu dostawcy, znajduje się tutaj dobry artykuł: http://jamescowie.me/blog/2016/12/Composer-Magento-Patches/

Zrobiliśmy coś podobnego w naszym pliku kompozytora:

...
   "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"
            },
        }
    }
...

W naszym katalogu głównym Magento mamy katalog łatek / kompozytorów, do którego się odwołujemy, aw sekcji dodatków / łatek mówimy, który moduł Magento ma łatać.

Jak na ironię znalazłem ten post, gdy patrzyłem, jak to zrobiono, aby znaleźć nasze rozwiązanie już na miejscu przez naszego początkowego dostawcę.

Joshua Fricke
źródło
5

Jeśli masz git zainstalowany w swoim środowisku, skorzystaj z poniższej kopii łatki w swoim folderze głównym magento.

Następnie użyj:

$ git apply MAGETWO-67805-2017-05-17-03-04-03.patch
Suresh Chikani
źródło
1
co się stanie, jeśli nie zachowa się folderu dostawcy jako części repozytorium git? Czy to nie tylko łata bezpośrednio plików podstawowych?
dchayka
2

Jeśli ktoś robi to za pośrednictwem Composera, istnieje bezpłatny moduł, który można zainstalować, dzięki czemu można zainstalować łatki z cli.

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/$

Używam go na Mdoq , ale można go używać wszędzie.
Jest po dobry blog o nim tutaj

Adam
źródło
Próbowałem wysłać do firmy wiadomość e-mail o dodawaniu łat, ale ich e-mail jest uszkodzony ([email protected]). Wygląda również na to, że nie dodawali nowych łat przez około rok. To wydaje się martwy projekt.
njm5785
@ njm5785 nie jest martwy projekt, przepraszamy, że przegapiliśmy Twój e-mail. Jak mogę pomóc?
Adam
1
  • Pobierz ten plik poprawki i umieścić go w katalogu z Magento

  • Ustaw tryb programisty za pomocą polecenia:

    php bin/magento deploy:mode:set developer

  • Zastosuj poprawkę za pomocą polecenia:

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

  • Możliwe ostrzeżenia i błędy, które możesz uzyskać to:

ostrzeżenie: dostawca / magento / module-email / Model / FileName.php ma typ 100755, oczekiwany 100644

Powyższe środki ostrzegawcze, że permissionsz FileName.php są 755jednak oczekiwane permissions644.

Jeśli zastosujesz plik poprawki dwa razy, pojawi się komunikat o błędzie podobny do:

error: patch failed: vendor / magento / module-email / Model / AbstractTemplate.php: 534

error: vendor / magento / module-email / Model / AbstractTemplate.php: łatka nie ma zastosowania

Można uzyskać powyższy błąd lub ostrzeżenie.

Twoja łatka jest nadal pomyślnie stosowana . Cieszyć się ;)

Usman Yousaf
źródło
0
  1. Upewnij się, że twój sklep Magento jest w środku developer mode

    php bin/magento deploy:mode:set developer

  2. Pobierz poprawkę bezpieczeństwa

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

  3. Następnie po prostu uruchom poniżej polecenia, aby zastosować łatkę

    php bin/magento setup:upgrade

Divya
źródło
Czy masz pomysł, jak usunąć ostatnią aplikację łatki?
Dhaduk Mitesh