我使用的是Magento 2.1.6,我想应用补丁CE-MAGETWO-67805.patch
。
如何应用* .patch文件?
我使用的是Magento 2.1.6,我想应用补丁CE-MAGETWO-67805.patch
。
如何应用* .patch文件?
Answers:
传统的
您可以使用传统方法:
git apply MAGEPatch-20181106.patch
要么
patch -p1 < MDVA-14172_EE_2.2.6_COMPOSER_v1.patch
作曲家
或通过在供应商目录中修补文件来解决相同情况,此处有一篇不错的文章:http : //jamescowie.me/blog/2016/12/Composer-Magento-Patches/
我们在作曲家文件中做了类似的事情:
...
"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"
},
}
}
...
在我们的Magento根目录中,我们有一个patch / composer目录,在这里我们可以引用它们。在extras / patches部分中,我们告诉它要修补的Magento模块。
具有讽刺意味的是,我在查看此操作是如何发现最初的供应商已经采用我们的解决方案时才找到了这篇文章。
如果您的环境中已安装git,请使用以下命令将修补程序复制到您的magento根文件夹中。
然后使用:
$ git apply MAGETWO-67805-2017-05-17-03-04-03.patch
如果有人通过Composer进行此操作,则可以安装一个免费模块,它允许您从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/$
下载的补丁文件,并将其放置到根目录下的Magento的
使用以下命令设置开发人员模式:
php bin/magento deploy:mode:set developer
使用以下命令应用补丁:
$ git apply CE-MAGETWO-93036-2018-07-02-07-06-53.patch
可能的警告和错误,你可以得到的是:
警告:vendor / magento / module-email / Model / FileName.php的类型为100755,预期为100644
上面的警告表示permissions
FileName.php的755
虽为预期permissions
的644
。
如果两次应用补丁文件,则将收到类似于以下内容的错误消息:
错误:修补程序失败:vendor / magento / module-email / Model / AbstractTemplate.php:534
错误:供应商/ magento /模块电子邮件/模型/AbstractTemplate.php:补丁不适用
可以得到上述错误或警告。
您的补丁仍成功应用。请享用 ;)
确保您的Magento商店在 developer mode
php bin/magento deploy:mode:set developer
下载安全补丁
git apply MAGETWO-67805-2017-05-17-03-04-03.patch
之后,只需运行以下命令即可应用补丁
php bin/magento setup:upgrade