मैगेंटो 2 पैच कैसे लागू करें?


13

मैं Magento 2.1.6 का उपयोग कर रहा हूं और मैं पैच लागू करना चाहता हूं CE-MAGETWO-67805.patch

मैं * .patch फ़ाइलें कैसे लागू कर सकता हूं?


क्या आप कृपया किसी दिए गए Magento संस्करण के लिए स्थापित करने के लिए आवश्यक पैच खोजने में मेरी मदद कर सकते हैं। क्या कोई उपकरण है जिसे आप उन्हें खोजने के लिए उपयोग कर रहे हैं? या हमें पैच जानकारी के लिए magento.com पर जाना चाहिए?
कल्याण चक्रवर्ती V

मैं एक Magento 2 संगीतकार स्थापना पर इन पैच लागू करने के लिए सबसे अच्छा अभ्यास के लिए खोज रहा था। इस आर्टिकेल में मैंने पोस्ट किया कि हम मैगेंटो सोर्स को कैसे पैच करते हैं। medium.com/@LarsRoettig/…
लार्स रोएटिग

जवाबों:


13

परंपरागत

आप पारंपरिक विधि का उपयोग कर सकते हैं:

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 रूट में, हमारे पास एक पैच / कंपोज़र डायरेक्टरी है, जहाँ हम उनका संदर्भ देते हैं और एक्स्ट्रा / पैच सेक्शन में, हम यह बताते हैं कि कौन सा Magento मॉड्यूल पैच करना है।

विडंबना यह है कि मुझे यह पद तब मिला जब यह देखने के लिए कि यह कैसे किया गया था कि हमारे समाधान को खोजने के लिए पहले से ही हमारे प्रारंभिक विक्रेता द्वारा जगह थी।


5

यदि आपने अपने पर्यावरण पर git स्थापित किया है तो बस निम्नलिखित प्रतिलिपि का उपयोग आप magento रूट फ़ोल्डर पर करें।

फिर उपयोग करें:

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

1
क्या होगा यदि कोई विक्रेता फ़ोल्डर को गिट रिपॉजिटरी के हिस्से के रूप में नहीं रखता है? क्या यह सिर्फ सीधे कोर फाइलों को पैच नहीं करता है?
ढाका

2

अगर कोई भी कंपोजर के माध्यम से ऐसा कर रहा है तो एक मुफ्त मॉड्यूल है जिसे आप स्थापित कर सकते हैं यह आपको 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/$

मैं इसका उपयोग मोदक पर करता हूं , लेकिन इसका उपयोग कहीं भी किया जा सकता है।
यहाँ पर एक अच्छी ब्लॉग पोस्ट है


मैंने कंपनी को पैच जोड़ने के बारे में ईमेल करने की कोशिश की लेकिन उनका ईमेल टूट गया (support@mdoq.io)। यह भी दिखता है कि उन्होंने लगभग एक साल तक नए पैच नहीं जोड़े हैं। यह एक मृत परियोजना लगती है।
njm5785

@ njm5785 एक मृत परियोजना नहीं है, क्षमा याचना हमने आपके ईमेल को याद किया। मैं आपकी कैसे मदद कर सकता हूँ?
एडम

1
  • पैच फ़ाइल डाउनलोड करें और इसे Magento के रूट डायरेक्टरी में रखें

  • कमांड का उपयोग करके डेवलपर मोड सेट करें :

    php bin/magento deploy:mode:set developer

  • आदेश का उपयोग करके पैच लागू करें :

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

  • संभावित चेतावनियाँ और त्रुटियाँ आपको मिल सकती हैं:

चेतावनी: विक्रेता / Magento / मॉड्यूल-ईमेल / मॉडल / FileName.php में 100755 टाइप किया गया है, जिसकी उम्मीद 100644 है

ऊपर चेतावनी का मतलब है कि permissionsFileName.php के हैं 755, हालांकि उम्मीद permissionsकर रहे हैं 644

यदि आप पैच फ़ाइल को दो बार लागू करते हैं तो आपसे एक त्रुटि संदेश प्राप्त होने की उम्मीद है:

त्रुटि: पैच विफल: विक्रेता / Magento / मॉड्यूल-ईमेल / मॉडल / AbstractTemplate.php: 534

त्रुटि: विक्रेता / Magento / मॉड्यूल-ईमेल / मॉडल / AbstractTemplate.php: पैच लागू नहीं होता है

उपरोक्त त्रुटि या चेतावनी प्राप्त करना ठीक है।

आपका पैच अभी भी सफलतापूर्वक लगाया गया है । का आनंद लें ;)


0
  1. सुनिश्चित करें कि आपका Magento स्टोर अंदर है developer mode

    php bin/magento deploy:mode:set developer

  2. सुरक्षा पैच डाउनलोड करें

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

  3. उसके बाद पैच लगाने के लिए बस कमांड के नीचे चलाएं

    php bin/magento setup:upgrade


क्या आपके पास कोई विचार है, अंतिम रूप से पैच को कैसे हटाएं?
धडुक मितेश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.