Я использую Magento 2.1.6 и хочу применить патч CE-MAGETWO-67805.patch
.
Как я могу применить файлы * .patch?
Я использую Magento 2.1.6 и хочу применить патч CE-MAGETWO-67805.patch
.
Как я могу применить файлы * .patch?
Ответы:
традиционный
Вы можете использовать традиционный метод:
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 у нас есть каталог patches / 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/$
Я использую его на Mdoq , но его можно использовать где угодно.
Существует хороший блог на нем здесь
Скачать в патч - файл и поместите его в корневой каталог в Magento
Установите режим разработчика с помощью команды:
php bin/magento deploy:mode:set developer
Примените патч с помощью команды:
$ git apply CE-MAGETWO-93036-2018-07-02-07-06-53.patch
Возможные предупреждения и ошибки, которые вы можете получить:
предупреждение: поставщик / magento / module-email / Model / FileName.php имеет тип 100755, ожидается 100644
Вышеуказанные средства предупреждения о том , что permissions
в FileName.php являются 755
хотя ожидаемый permissions
являются 644
.
Если вы примените файл исправления дважды, вы должны получить сообщение об ошибке, подобное следующему:
ошибка: исправление не удалось: vendor / magento / module-email / Model / AbstractTemplate.php: 534
ошибка: vendor / magento / module-email / Model / 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