应用修补程序

可以使用以下任一方法应用修补程序:

TIP
请参阅最佳实践以了解有关企业级Adobe Commerce集中修补的信息。

Composer

IMPORTANT
要应用官方质量修补程序,请使用Quality Patches Tool。 在部署任何自定义修补程序之前,请始终执行全面的测试。

要使用编辑器应用自定义修补程序,请执行以下操作:

  1. 打开命令行应用程序并导航到项目目录。

  2. cweagans/composer-patches插件添加到composer.json文件。

    code language-bash
    composer require cweagans/composer-patches
    
  3. 编辑composer.json文件并添加以下部分以指定:

    • 模块: "magento/module-payment"
    • 标题: "MAGETOW-56934:使用Authorize.net订购时信用卡无效结帐页面冻结"
    • 修补程序的路径: "patches/composer/github-issue-6474.diff"

    例如:

    code language-json
    "extra": {
        "composer-exit-on-patch-failure": true,
        "patches": {
            "magento/module-payment": {
                "MAGETWO-56934: Checkout page freezes when ordering with Authorize.net with invalid credit card": "patches/composer/github-issue-6474.diff"
            }
        }
    }
    

    如果修补程序影响多个模块,则必须创建针对多个模块的多个修补程序文件。

  4. 应用修补程序。 仅当要查看调试信息时,才使用-v选项。

    code language-bash
    composer -v install
    
  5. 更新composer.lock文件。 锁定文件会跟踪哪些修补程序已应用于对象中的每个Composer包。

    code language-bash
    composer update --lock
    

命令行

要从命令行应用修补程序,请执行以下操作:

  1. 使用FTP、SFTP、SSH或您的普通传输方法将本地文件上传到服务器上的<Magento_root>目录。

  2. 管理员用户身份登录服务器,并验证该文件是否位于正确的目录中。

  3. 在命令行界面中,根据修补程序扩展运行以下命令:

    code language-bash
    patch < patch_file_name.patch
    

    该命令假定要打补丁的文件相对于打补丁文件。

    note note
    NOTE
    如果命令行显示: File to patch:,则意味着它无法找到预期的文件,即使路径似乎正确也是如此。 在命令行终端中显示的框中,第一行显示要修补的文件。 复制文件路径并将其粘贴到File to patch:提示符下并按Enter,修补程序应该会完成。
  4. 要使更改生效,请在​ 系统 >工具> 缓存管理 ​下的管理员中刷新缓存。

    或者,也可以使用相同的命令在本地应用修补程序,然后正常提交和推送。

recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea