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?

Rafael Corrêa Gomes
la source
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.

Joshua Fricke
la source
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
Suresh Chikani
la source
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

Adam
la source
J'ai essayé d'envoyer un e-mail à l'entreprise concernant l'ajout de correctifs, mais son e-mail est cassé ([email protected]). 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 ;)

Usman Yousaf
la source
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

Divya
la source
Avez-vous une idée, comment supprimer la dernière application du patch?
Dhaduk Mitesh