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?


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ę.


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

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


Próbowałem wysłać do firmy wiadomość e-mail o dodawaniu łat, ale ich e-mail jest uszkodzony (support@mdoq.io). 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ę ;)


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


Czy masz pomysł, jak usunąć ostatnią aplikację łatki?
Dhaduk Mitesh
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.