Bagaimana cara menerapkan tambalan Magento 2?

12

Saya menggunakan Magento 2.1.6 dan saya ingin menerapkan tambalan CE-MAGETWO-67805.patch.

Bagaimana saya bisa menerapkan file * .patch?

Rafael Corrêa Gomes
sumber
bisa tolong bantu saya tentang cara menemukan tambalan yang diperlukan untuk menginstal untuk versi Magento yang diberikan. Apakah ada alat yang Anda gunakan untuk menemukannya? atau kita harus mengunjungi magento.com untuk mendapatkan informasi tambalan?
Kalyan Chakravarthi V
Saya sedang mencari praktik terbaik untuk menerapkan tambalan ini pada instalasi Magento 2 Composer. Dalam Artikel ini saya memposting bagaimana kami Menambal Sumber Magento. medium.com/@LarsRoettig/…
Lars Roettig

Jawaban:

12

Tradisional

Anda dapat menggunakan metode tradisional:

git apply MAGEPatch-20181106.patch

atau

patch -p1 < MDVA-14172_EE_2.2.6_COMPOSER_v1.patch    

Komposer

Atau untuk mengatasi situasi yang sama dengan file yang ditambal di direktori vendor, ada artikel bagus di sini: http://jamescowie.me/blog/2016/12/Composer-Magento-Patches/

Kami melakukan sesuatu yang serupa di file komposer kami:

...
   "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"
            },
        }
    }
...

Di root Magento kami, kami memiliki direktori tambalan / komposer yang menjadi acuan kami dan di bagian tambalan / tambalan, kami memberi tahu modul Magento mana yang akan ditambal.

Ironisnya, saya menemukan posting ini ketika melihat bagaimana ini dilakukan hanya untuk menemukan solusi kami sudah ada di tempat oleh vendor awal kami.

Joshua Fricke
sumber
5

Jika Anda telah menginstal git di lingkungan Anda, cukup gunakan salin tambalan berikut pada folder root magento Anda.

Kemudian gunakan:

$ git apply MAGETWO-67805-2017-05-17-03-04-03.patch
Suresh Chikani
sumber
1
bagaimana jika seseorang tidak menyimpan folder vendor sebagai bagian dari repositori git? Bukankah ini hanya menambal file inti secara langsung?
dchayka
2

Jika ada yang melakukan ini melalui Komposer ada modul gratis Anda dapat menginstalnya memungkinkan Anda untuk menginstal tambalan dari 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/$

Saya menggunakannya di Mdoq , tetapi bisa digunakan di mana saja.
Ada posting blog yang bagus di sini

Adam
sumber
Saya mencoba untuk mengirim email ke perusahaan tentang menambahkan tambalan tetapi email mereka rusak ([email protected]). Sepertinya mereka belum menambahkan tambalan baru selama sekitar satu tahun. Ini tampaknya merupakan proyek mati.
njm5785
@ njm5785 bukan proyek mati, permintaan maaf kami melewatkan email Anda. Bagaimana saya bisa membantu?
Adam
1
  • Men-download yang file patch dan menempatkannya ke dalam direktori root dari Magento

  • Tetapkan mode pengembang dengan menggunakan perintah:

    php bin/magento deploy:mode:set developer

  • Terapkan tambalan dengan menggunakan perintah:

    $ git apply CE-MAGETWO-93036-2018-07-02-07-06-53.patch

  • Kemungkinan peringatan dan kesalahan Anda bisa mendapatkan adalah:

peringatan: vendor / magento / module-email / Model / FileName.php memiliki tipe 100755, diharapkan 100644

Sarana peringatan di atas bahwa permissionsdari FileName.php yang 755meskipun diharapkan permissionsadalah 644.

Jika Anda menerapkan file tambalan dua kali Anda diharapkan mendapatkan pesan kesalahan yang mirip dengan:

error: patch gagal: vendor / magento / module-email / Model / AbstractTemplate.php: 534

error: vendor / magento / module-email / Model / AbstractTemplate.php: patch tidak berlaku

Tidak masalah untuk mendapatkan kesalahan atau peringatan di atas.

Tambalan Anda masih berhasil diterapkan . Nikmati ;)

Usman Yousaf
sumber
0
  1. Pastikan toko Magento Anda ada di developer mode

    php bin/magento deploy:mode:set developer

  2. Unduh patch keamanan

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

  3. Setelah itu jalankan perintah di bawah ini untuk menerapkan tambalan

    php bin/magento setup:upgrade

Divya
sumber
Apakah Anda tahu, bagaimana cara menghapus terakhir menerapkan tambalan?
Dhaduk Mitesh