zipMoney/zip.magento2

Magento 2.4.6 di:compile error "Class "Zend\Uri\Uri" does not exist"

Opened this issue · 3 comments

  • Magento OS 2.4.6-p3
  • Zip Payments 1.2.3 (Latest Release)
  • PHP 8.1

Upon updating to the latest Magento Open Source 2.4.6 version getting the following error on di compile.

In ClassReader.php line 57: Impossible to process constructor argument Parameter #5 [ <required> Zend\Uri\Uri $zendUri ] of Zip\ZipPayment\Model\Config\HealthCheck class In GetParameterClassTrait.php line 34: Class "Zend\Uri\Uri" does not exist

As outlined in Adobe's 2.4.6 release notes:
https://experienceleague.adobe.com/docs/commerce-operations/release/notes/magento-open-source/2-4-6.html?lang=en)

Zend framework (ZF1) components that have reached end of life have been removed from the codebase.

The Zip module must migrate across to using supported Laminas library alternatives instead of ZF1.

The temporary workaround is to update your composer.json to require "laminas/laminas-zendframework-bridge" which will get around that above di compile error. As of Magento 2.4.6 Adobe removed the Laminas Zend Framework bridge from the composer requires, hence the above error will occur until the Zip module is migrated over fully to using Laminas alternatives.

Thank you, you solved my problem

This has been fixed in 1.2.5 ( See dif 1.2.3...1.2.5 ) and is working.