Comment appliquer les patchs Magento 2?


12

J'utilise Magento 2.1.6 et je souhaite appliquer le patch CE-MAGETWO-67805.patch.

Comment puis-je appliquer les fichiers * .patch?


pouvez-vous m'aider à trouver les correctifs requis à installer pour une version de Magento donnée. Y a-t-il un outil que vous utilisez pour les trouver? ou devrions-nous visiter magento.com pour obtenir des informations sur les correctifs?
Kalyan Chakravarthi V le

je cherchais les meilleures pratiques pour appliquer ces correctifs sur une installation de Magento 2 Composer. Dans cet Artikel, j'ai publié comment nous corrigeons la source Magento. medium.com/@LarsRoettig/…
Lars Roettig

Réponses:


12

Traditionnel

Vous pouvez utiliser la méthode traditionnelle:

git apply MAGEPatch-20181106.patch

ou

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

Compositeur

Ou pour résoudre la même situation avec les fichiers corrigés dans le répertoire du fournisseur, il y a un bon article à ce sujet ici: http://jamescowie.me/blog/2016/12/Composer-Magento-Patches/

Nous avons fait quelque chose de similaire dans notre fichier compositeur:

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

Dans notre racine Magento, nous avons un répertoire patches / composer qui est l'endroit où nous les référençons et dans la section extras / patches, nous lui indiquons le module Magento à patcher.

Ironiquement, j'ai trouvé ce message en regardant comment cela a été fait uniquement pour découvrir que notre solution était déjà en place par notre fournisseur initial.


5

Si vous avez installé git sur votre environnement, utilisez simplement la copie suivante du patch sur votre dossier racine magento.

Utilisez ensuite:

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

1
que se passe-t-il si l'on ne conserve pas le dossier du fournisseur dans le référentiel git? Cela ne corrige-il pas simplement les fichiers de base directement?
dchayka

2

Si quelqu'un le fait via Composer, il existe un module gratuit que vous pouvez installer, il vous permet d'installer des correctifs à partir de la 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/$

Je l'utilise sur Mdoq , mais il peut être utilisé n'importe où.
Il y a un bon article de blog ici


J'ai essayé d'envoyer un e-mail à l'entreprise concernant l'ajout de correctifs, mais son e-mail est cassé (support@mdoq.io). Il semble également qu'ils n'aient pas ajouté de nouveaux correctifs depuis environ un an. Cela semble être un projet mort.
njm5785

@ njm5785 n'est pas un projet mort, excuses nous avons manqué ton email. Comment puis-je aider?
Adam

1
  • Téléchargez le fichier patch et placez-le dans le répertoire racine de Magento

  • Définissez le mode développeur à l'aide de la commande:

    php bin/magento deploy:mode:set developer

  • Appliquez le patch à l'aide de la commande:

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

  • Les avertissements et erreurs possibles que vous pouvez obtenir sont les suivants:

avertissement: le fournisseur / magento / module-email / Model / FileName.php a le type 100755, attendu 100644

Les moyens d'avertissement ci - dessus que le permissionsdu filename.php sont 755bien les attendus permissionssont 644.

Si vous appliquez le fichier correctif deux fois, vous devriez obtenir un message d'erreur similaire à:

erreur: échec du correctif: vendeur / magento / module-email / Model / AbstractTemplate.php: 534

erreur: vendeur / magento / module-email / Model / AbstractTemplate.php: le patch ne s'applique pas

Son ok pour obtenir l'erreur ou l'avertissement ci-dessus.

Votre patch est toujours appliqué avec succès . Prendre plaisir ;)


0
  1. Assurez-vous que votre boutique Magento est developer mode

    php bin/magento deploy:mode:set developer

  2. Téléchargez le correctif de sécurité

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

  3. Après cela, exécutez simplement la commande ci-dessous pour appliquer le patch

    php bin/magento setup:upgrade


Avez-vous une idée, comment supprimer la dernière application du patch?
Dhaduk Mitesh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.