ACSD-56842:运行setup:di:compile后缺少延迟的代理和代理工厂

ACSD-56842修补程序修复了在运行setup:di:compile后缺少延迟代理和代理工厂的问题。 安装Quality Patches Tool (QPT) 1.1.46时,此修补程序可用。 修补程序ID为ACSD-56842。 请注意,该问题计划在Adobe Commerce 2.4.7中修复。

受影响的产品和版本

为Adobe Commerce版本创建了修补程序:

  • Adobe Commerce(所有部署方法) 2.4.4-p6

与Adobe Commerce版本兼容:

  • Adobe Commerce(所有部署方法) 2.4.2 - 2.4.6-p3
NOTE
该修补程序可能适用于具有新Quality Patches Tool发行版本的其他版本。 要检查修补程序是否与您的Adobe Commerce版本兼容,请将magento/quality-patches包更新到最新版本,并在Quality Patches Tool:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。

问题

运行setup:di:compile后缺少延迟的代理和代理工厂。

重现步骤

  1. 创建名为​ Module_CustomModule ​的Magento。

  2. 在模块的​ etc ​文件夹中,使用以下内容创建一个di.xml

    code language-xml
     <?xml version="1.0"?>
      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
         <type name="Magento\Catalog\Model\ProductLink\CollectionProvider">
            <arguments>
               <argument name="providers" xsi:type="array">
                  <item name="crosssell" xsi:type="object">
                       Magento\Catalog\Model\ProductLink\CollectionProvider\Crosssell\Proxy
                  </item>
                    <item name="upsell" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Upsell\Proxy</item>
                      <item name="related" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Related\Proxy</item>
               </argument>
            </arguments>
          </type>
             <type name="Magento\Catalog\Model\Product">
                <arguments>
                   <argument name="catalogProductStatus" xsi:type="object">
                    Magento\Catalog\Model\Product\Attribute\Source\Status\Proxy
                   </argument>
                    <argument name="productLink" xsi:type="object">
                      Magento\Catalog\Model\Product\Link\Proxy
                    </argument>
                </arguments>
              </type>
      </config>
    
  3. 设置Production模式: bin/magento deploy:mode:set production

  4. 从magento根删除生成的文件夹。

  5. 运行命令bin/magento setup:di:compile

  6. 检查生成的文件夹。

预期的结果

  • 编译后已成功创建代理文件。
  • 在编译后成功创建工厂文件。

实际结果

在生成的文件夹中,为不带换行符的代理参数生成代理文件,而不是为带有换行符的参数生成代理文件。

应用修补程序

要应用单独的修补程序,请根据您的部署方法使用以下链接:

相关阅读

要了解有关Quality Patches Tool的更多信息,请参阅:

有关QPT中其他可用修补程序的信息,请参阅Quality Patches Tool指南中的Quality Patches Tool:搜索修补程序

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3