当我升级Magento 2.4.3到2.4.4时,我得到了一个php8.1弃用功能错误。
PHP致命错误:在继承可计数的过程中:未捕获的异常:不推荐使用的功能:Composer\Repository\CompositeRepository::count()的返回类型应与可计数的::count()兼容:您可以使用[\ReturnTypeWillChange]属性来暂时隐藏/var/www/html/vendor/magento/framework/App/ErrorHandler.php中第180行的通知。您可以使用[\ReturnTypeWillChange]属性来暂时隐藏/var/www/html/vendor/magento/framework/App/ErrorHandler.php中的通知。
6条答案
按热度按时间igsr9ssn1#
从PHP8.1开始,你必须修正函数count()的返回类型。我们需要修改2个文件。
将公共函数count()更改为公共函数count():整数
(第277行)
php(第180行)
eoxn13cs2#
最有可能的问题是,您没有将所有的dev-requires更新到2.4.4的最新版本。如果不更新,这些要求会将composer/composer模块锁定到2.0.x。
9fkzdhlc3#
只需在require中使用此包更新composer.json即可
此外,使用最新的 composer 我是(2.3.10)
tzcvj98z4#
只需将composer更新到版本2.3.9 -在此版本中,计数方法包含类型
jaxagkaj5#
我用这种方式解决了(由 composer 2.3.5):
composer2 require magento/composer-root-update-plugin ~2.0 --no-update
composer2 update
个使用来自Magento 2.4.4 composer.json https://github.com/magento/magento2/blob/2.4.4/composer.json的“要求开发”库
“要求-开发”:{“吸引力框架/吸引力phpunit”:“~1.5.0”,“代理商直接/phpcodesniffer编写器安装程序”:“^0.7.0”,“好友的php/php-cs-fixer”:“~3.3.0”,“卢西塔尼亚语/oauth”:“~0.8.10”,“洋红色/洋红色编码标准”:“*",“magento/magento 2-功能测试-框架”:“^3.7”,“依赖项/依赖项”:“~2.10.0”、“phpmd/phpmd”:“^2.9.1”,“php标准格式/php标准格式”:“~1.2.0”,“php单位/php单位”:“~9.5.0”、“塞巴斯蒂安/phpcpd”:“^6.0.3”,“php_codesniffer”:“~3.6.0”,“symfony/查找器”:“^5.2”}
6rvt4ljy6#
不用担心。我正面临着silimar问题,并通过更新 composer 包修复。
composer需要composer/composer:~2.2.0 -W