Estou usando o Magento 2.1.6 e quero aplicar o patch CE-MAGETWO-67805.patch
.
Como posso aplicar os arquivos * .patch?
Estou usando o Magento 2.1.6 e quero aplicar o patch CE-MAGETWO-67805.patch
.
Como posso aplicar os arquivos * .patch?
Respostas:
Tradicional
Você pode usar o método tradicional:
git apply MAGEPatch-20181106.patch
ou
patch -p1 < MDVA-14172_EE_2.2.6_COMPOSER_v1.patch
Compositor
Ou, para resolver a mesma situação com os arquivos corrigidos no diretório do fornecedor, há um bom artigo aqui: http://jamescowie.me/blog/2016/12/Composer-Magento-Patches/
Fizemos algo semelhante em nosso arquivo de compositor:
...
"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"
},
}
}
...
Em nossa raiz do Magento, temos um diretório de patches / compositores, onde é feita a referência e, na seção extras / patches, informamos qual módulo do Magento deve ser corrigido.
Ironicamente, encontrei este post ao analisar como isso foi feito apenas para descobrir que nossa solução já estava em vigor pelo nosso fornecedor inicial.
Se você tem o git instalado no seu ambiente, basta usar a seguinte cópia do patch na pasta raiz do magento.
Então use:
$ git apply MAGETWO-67805-2017-05-17-03-04-03.patch
Se alguém estiver fazendo isso através do Composer, existe um módulo gratuito que você pode instalar, que permite instalar patches a partir do 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/$
Eu o uso no Mdoq , mas pode ser usado em qualquer lugar.
Há um bom post aqui
Faça o download do arquivo de correção e coloque-o no diretório raiz do Magento
Defina o modo de desenvolvedor usando o comando:
php bin/magento deploy:mode:set developer
Aplique o patch usando o comando:
$ git apply CE-MAGETWO-93036-2018-07-02-07-06-53.patch
Os possíveis avisos e erros que você pode obter são:
aviso: vendor / magento / module-email / Model / FileName.php possui o tipo 100755, esperado 100644
Os meios de alerta acima que a permissions
do FileName.php são 755
que o esperado permissions
são 644
.
Se você aplicar o arquivo de correção duas vezes, é esperado que você receba uma mensagem de erro semelhante a:
erro: falha no patch: fornecedor / magento / module-email / Model / AbstractTemplate.php: 534
erro: vendor / magento / module-email / Model / AbstractTemplate.php: o patch não se aplica
Não há problema em obter o erro ou aviso acima.
Seu patch ainda foi aplicado com sucesso . Desfrutar ;)
Verifique se sua loja Magento está em developer mode
php bin/magento deploy:mode:set developer
Faça o download do patch de segurança
git apply MAGETWO-67805-2017-05-17-03-04-03.patch
Depois disso, basta executar o comando abaixo para aplicar o patch
php bin/magento setup:upgrade