Tôi đang sử dụng Magento 2.1.6 và tôi muốn áp dụng bản vá CE-MAGETWO-67805.patch
.
Làm cách nào tôi có thể áp dụng các tệp * .patch?
Tôi đang sử dụng Magento 2.1.6 và tôi muốn áp dụng bản vá CE-MAGETWO-67805.patch
.
Làm cách nào tôi có thể áp dụng các tệp * .patch?
Câu trả lời:
Truyên thông
Bạn có thể sử dụng phương pháp truyền thống:
git apply MAGEPatch-20181106.patch
hoặc là
patch -p1 < MDVA-14172_EE_2.2.6_COMPOSER_v1.patch
Nhà soạn nhạc
Hoặc để giải quyết tình huống tương tự với các tệp được vá trong thư mục nhà cung cấp, có một bài viết hay về nó ở đây: http://jamescowie.me/blog/2016/12/Composer-Magento-Patches/
Chúng tôi đã làm một cái gì đó tương tự trong tập tin soạn thảo của chúng tôi:
...
"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"
},
}
}
...
Trong thư mục gốc Magento của chúng tôi, chúng tôi có một thư mục bản vá / trình soạn thảo, nơi chúng tôi tham chiếu chúng và trong phần bổ sung / bản vá, chúng tôi cho nó biết mô-đun Magento nào cần vá.
Trớ trêu thay tôi đã tìm thấy bài đăng này khi xem làm thế nào điều này được thực hiện chỉ để tìm giải pháp của chúng tôi đã được cung cấp bởi nhà cung cấp ban đầu của chúng tôi.
Nếu bạn đã cài đặt git trên môi trường của mình, chỉ cần sử dụng bản sao sau đây của bản vá trên thư mục gốc magento của bạn.
Sau đó sử dụng:
$ git apply MAGETWO-67805-2017-05-17-03-04-03.patch
Nếu bất cứ ai đang làm điều này thông qua Composer, có một mô-đun miễn phí, bạn có thể cài đặt nó cho phép bạn cài đặt các bản vá từ 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/$
Tôi sử dụng nó trên Mdoq , nhưng nó có thể được sử dụng ở bất cứ đâu.
Có một bài viết blog tốt về nó ở đây
Tải về các tập tin vá lỗi và đặt nó vào thư mục gốc của Magento
Đặt chế độ nhà phát triển bằng cách sử dụng lệnh:
php bin/magento deploy:mode:set developer
Áp dụng bản vá bằng cách sử dụng lệnh:
$ git apply CE-MAGETWO-93036-2018-07-02-07-06-53.patch
Các cảnh báo và lỗi có thể bạn có thể nhận được là:
cảnh báo: nhà cung cấp / magento / mô-đun email / Model / FileName.php có loại 100755, dự kiến 100644
Các phương tiện cảnh báo trên rằng permissions
các filename.php là 755
mặc dù dự kiến permissions
là 644
.
Nếu bạn áp dụng tệp vá hai lần, bạn sẽ nhận được thông báo lỗi tương tự như:
lỗi: vá lỗi: nhà cung cấp / magento / mô-đun email / Mô hình / Tóm tắtTemplate.php: 534
lỗi: nhà cung cấp / magento / mô-đun email / Mô hình / Tóm tắtTemplate.php: bản vá không áp dụng
Nó ổn để nhận được các lỗi hoặc cảnh báo ở trên.
Bản vá của bạn vẫn được áp dụng thành công . Thưởng thức ;)
Đảm bảo rằng cửa hàng Magento của bạn đang ở developer mode
php bin/magento deploy:mode:set developer
Tải về bản vá bảo mật
git apply MAGETWO-67805-2017-05-17-03-04-03.patch
Sau đó, chỉ cần chạy bên dưới lệnh để áp dụng các bản vá
php bin/magento setup:upgrade