我有一个网站(Magento 2.4.2 + php7.4)运行良好,然后我通过composer升级到(Magento 2.4.7-beta1 + php8.2),升级成功,如果第三方应用程序“Amasty”从项目中删除,“sudo php bin/magento setup:di:compile”运行良好;如果第三方应用程序“Amasty”保留在项目上,“sudo php bin/magento setup:di:compile”得到错误:开始编译。存储库代码生成... 1/9 [==>-] 11% < 1 sec 125.0 MiBPHP致命错误:无法声明类Aasty\AdminActionsLog\lib\HtmlNode,因为该名称已经在/var/www/html/mydomain.com/app/code/Amasty/AdminActionsLog/lib/HtmlNode.php第6行使用,注意:第6行内容是“class HtmlNode {”下面是3个文件的php部分源代码Amasty:(1)app\code\Amasty\AdminActionsLog\lib\HtmlNode.php
<?php
namespace Amasty\AdminActionsLog\lib;
include_once 'HtmlNodeText.php';
include_once 'HtmlSelector.php';
class HtmlNode {
const NODE_ELEMENT = 0;
字符串
(2) app\code\Amasty\AdminActionsLog\lib\HtmlNodeCdata.php
<?php
namespace Amasty\AdminActionsLog\lib;
class HtmlNodeCdata extends HtmlNode {
型
(3) app\code\Amasty\AdminActionsLog\lib\HtmlNodeComment.php
<?php
namespace Amasty\AdminActionsLog\lib;
class HtmlNodeComment extends HtmlNode {
型
我的问题是:为什么“sudo php bin/magento setup:di:compile”在php7.4中运行良好,但在php8.2中却出现错误,以及如何修复它?
先谢谢你。
1条答案
按热度按时间s4chpxco1#
您已升级到最新的Magento,这是在测试版。Amasty软件包不支持此版本。有一个变化,从PHP到一个新的版本,很多东西可能是过时的,在Magento的一些对象也得到更新,它需要你更新的Amazy包的版本,首先是与PHP8.2兼容,其次是与Magento在一个新的版本。
解决这个问题没有多大意义。我会从另一个方向问这个问题。为什么你想在测试版的Magento,而不是选择一个稳定的版本,其中第三方软件包可能已经更新?