Magento 2 패치를 적용하는 방법?


12

Magento 2.1.6을 사용하고 있으며 patch를 적용하고 싶습니다 CE-MAGETWO-67805.patch.

* .patch 파일을 어떻게 적용 할 수 있습니까?


주어진 Magento 버전에 필요한 패치를 찾는 방법을 알려주세요. 그것들을 찾기 위해 사용하는 도구가 있습니까? 또는 패치 정보는 magento.com을 방문해야합니까?
Kalyan Chakravarthi V

Magento 2 Composer 설치에서 이러한 패치를 적용하는 모범 사례를 찾고있었습니다. 이 Artikel에서 나는 우리가 어떻게 Magento Source를 패치하는지 게시했다. medium.com/@LarsRoettig/…
Lars Roettig

답변:


12

전통적인

전통적인 방법을 사용할 수 있습니다.

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 루트에는 patch / composer 디렉토리가 있으며이 디렉토리를 참조하는 위치 및 extras / patches 섹션에서 패치 할 Magento 모듈을 알려줍니다.

아이러니하게도이 솔루션이 초기 공급 업체에 의해 이미 구현되어 있음을 발견하기 위해 어떻게 수행되었는지 살펴보면서이 게시물을 찾았습니다.


5

환경에 git이 설치되어 있다면 magento 루트 폴더에 다음 패치를 사용하십시오.

그런 다음 사용하십시오.

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

1
git 저장소의 일부로 공급 업체 폴더를 유지하지 않으면 어떻게됩니까? 코어 파일을 직접 패치하지 않습니까?
dchayka

2

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 하지만 어디서나 사용할 수 있습니다.
여기에 좋은 블로그 게시물이 있습니다


패치 추가에 대해 회사에 이메일을 보내려고했지만 이메일이 손상되었습니다 (support@mdoq.io). 또한 약 1 년 동안 새로운 패치를 추가하지 않은 것으로 보입니다. 이것은 죽은 프로젝트 인 것 같습니다.
njm5785

@ njm5785 죽은 프로젝트는 아닙니다. 죄송합니다. 귀하의 이메일이 누락되었습니다. 내가 어떻게 도움이 될 수 있습니다?
아담

1
  • 패치 파일을 다운로드 하여 Magento루트 디렉토리 에 배치하십시오.

  • 다음 명령을 사용하여 개발자 모드 를 설정하십시오 .

    php bin/magento deploy:mode:set developer

  • 다음 명령을 사용하여 패치적용하십시오 .

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

  • 발생할 수있는 경고 및 오류 는 다음과 같습니다.

경고 : vendor / magento / module-email / Model / FileName.php의 타입은 100755이며 예상되는 것은 100644입니다.

위의 경고 permissions는 FileName.php 755의 예상 permissions644입니다.

패치 파일을 두 번 적용하면 다음과 유사한 오류 메시지가 나타납니다.

오류 : 패치 실패 : vendor / magento / module-email / Model / AbstractTemplate.php : 534

오류 : vendor / magento / module-email / Model / 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


패치를 마지막으로 적용하는 방법을 알고 있습니까?
Dhaduk Mitesh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.