Làm thế nào để áp dụng các bản vá Magento 2?


11

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?


bạn có thể vui lòng giúp tôi về cách tìm các bản vá cần thiết để cài đặt cho một phiên bản Magento cụ thể không. Có công cụ nào bạn đang sử dụng để tìm chúng không? hoặc chúng ta nên truy cập magento.com để biết thông tin bản vá?
Kalyan Chakravarthi V

tôi đã tìm kiếm cách thực hành tốt nhất để áp dụng các bản vá này trên bản cài đặt Magento 2 Composer. Trong Artikel này, tôi đã đăng tải cách chúng tôi Patch Magento Source. Medium.com/@LarsRoettig/ trộm
Lars Roettig

Câu trả lời:


11

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.


5

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

1
Điều gì xảy ra nếu một người không giữ thư mục nhà cung cấp như một phần của kho git? Đây không phải là chỉ vá các tập tin cốt lõi trực tiếp?
dchayka

2

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 đã cố gắng gửi email cho công ty về việc thêm các bản vá nhưng email của họ bị hỏng (support@mdoq.io). Có vẻ như họ đã không thêm các bản vá mới trong khoảng một năm. Đây dường như là một dự án chết.
njm5785

@ njm5785 không phải là một dự án chết, xin lỗi chúng tôi đã bỏ lỡ email của bạn. Tôi có thể giúp gì?
Adam

1
  • 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 permissionscác filename.php là 755mặc dù dự kiến permissions644.

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 ;)


0
  1. Đảm bảo rằng cửa hàng Magento của bạn đang ở developer mode

    php bin/magento deploy:mode:set developer

  2. Tải về bản vá bảo mật

    git apply MAGETWO-67805-2017-05-17-03-04-03.patch

  3. 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


Bạn có biết gì không, làm thế nào để gỡ bỏ bản vá cuối cùng?
Dhaduk Mitesh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.