Upgrade Compatibility Tool条错误消息

NOTE
Upgrade Compatibility Tool仅适用于Adobe Commerce实例。

此错误消息引用提供有关执行Upgrade Compatibility Tool时可能发生错误的信息。

错误消息按级别(严重问题、错误和警告)和类型(核心代码、自定义代码和GraphQL架构)进行分类。 每种类型都包含以下信息:

  • 错误代码: Adobe Commerce为错误消息分配的标识符。
  • 错误描述:总结错误原因的描述。
  • 错误建议操作:如果适用,提供故障排除和解决错误的指导。

严重问题

核心代码

当某些核心文件缺失或与原始文件不匹配时,将报告这些错误。

错误代码
错误描述
建议的操作
2001
未找到核心文件
从项目的根目录运行composer install命令。
2002
核心文件已修改
从项目的根目录运行composer install命令。
2003
未安装编辑器依赖项
缺少编辑器依赖项可能会导致问题。 通过运行composer require package_name还原依赖关系。
2005
未找到核心文件夹
从项目的根目录运行composer install命令。

自定义代码

当自定义代码引用目标Adobe Commerce版本中不存在的实体时,会引发严重错误。 当关键编码标准被破坏时,也会报告这些错误。

错误代码
错误描述
建议的操作
1110
实例化不存在的Adobe Commerce类/接口
更新代码以使用标记为@api的类。 实例化不存在的Adobe Commerce类/接口。
1111
从不存在的Adobe Commerce类扩展
扩展类不再存在于代码库中。 不建议使用继承方法来扩展Adobe Commerce功能。 更新代码以使用标记为@api的类。
1112
正在导入不存在的Adobe Commerce类
更新代码以使用标记为@api的类。
1113
正在加载不存在的Adobe Commerce类
更新代码以使用标记为@api的类。
1114
使用不存在的Adobe Commerce类
更新代码以使用标记为@api的类。
1214
使用不存在的Adobe Commerce常量
请考虑在自定义代码中引入并使用所需值的私有常量。
1215
覆盖不存在的Adobe Commerce常量
请考虑在自定义代码中引入并使用所需值的私有常量。
1216
分配不存在的Adobe Commerce常量
请考虑在自定义代码中引入并使用所需值的私有常量。
1312
导入了不存在的Adobe Commerce接口
请考虑删除继承,或将其替换为自定义范围中引入的接口。
1314
使用不存在的Adobe Commerce接口
请考虑删除继承,或将其替换为自定义范围中引入的接口。
1317
继承了不存在的Adobe Commerce接口
请考虑删除继承,或将其替换为自定义范围中引入的接口。
1318
实施了不存在的Adobe Commerce接口
请考虑删除继承,或将其替换为自定义范围中引入的接口。
1410
调用不存在的Adobe Commerce方法
更新代码以使用标记为@api的类。
1514
使用不存在的Adobe Commerce属性
更新代码以使用标记为@api的类。
1515
覆盖不存在的Adobe Commerce属性
更新代码以使用标记为@api的类。
1516
分配不存在的Adobe Commerce资产
更新代码以使用标记为@api的类。 如果属性访问级别只能在单个类中使用,请将属性访问级别更新为private。
5002
开始PHP标记必须是文件中的第一个内容
在PHP开始标记之前,请确保文件中没有内容。
5003
函数已被弃用
使用错误消息中建议的替换。 如果消息未建议进行替换,则需要仔细审查以选择替代功能或实施。
5005
PHP语法错误
必须更新代码以符合PHP语法标准。
5072
可能存在Magento2设计冲突。 检测到典型的Magento1.x结构
将构建更新为Magento2标准。
5076
无法在命名空间中使用,因为命名空间是自PHP 7以来保留的
将命名空间中的保留字替换为非保留关键字。
5077
不能用作类名,因为它是自PHP 7以来保留的
将保留的类名替换为非保留名称。

数据库架构

如果自定义约束引用了已删除的核心表或列,则会报告数据库架构严重问题。

错误代码
错误描述
建议的操作
7009
自定义约束正在引用在目标版本中删除的核心表
移除约束或更新referenceTable和referenceColumn属性
7010
自定义约束正在引用在目标版本中删除的核心列
移除约束或更新referenceColumn属性

GraphQL架构

如果GraphQL架构项目在目标版本中不存在,则会引发架构严重问题。

错误代码
错误描述
建议的操作
3101
已删除类型
列出引用此字段的所有查询。 检查自定义实施是否使用这些查询。 更新客户端代码以处理更改的查询接口。
3102
从合并中删除的类型
如果在GraphQL请求构建或响应处理实现中使用了合并类型,则可能需要更新该类型。
3103
字段已删除
检查自定义项代码库中是否引用了字段。 调整实施以正确处理新字段类型。
3105
已删除已实现的接口
检查自定义设置中是否使用了实现已删除界面的类型。 如果实施依赖于删除的接口,则可能需要更新实施。
3106
从枚举中删除的值
如果在GraphQL请求构建或响应处理实现中使用删除的枚举值,则可能需要更新该值。
3107
已删除参数
检查自定义代码库中是否使用了字段。 删除此字段的参数。
3109
已移除指令
检查自定义代码库中是否使用了指令。 调整实施以删除对指令的引用。
3110
已移除指令参数
检查自定义代码库中是否使用了指令。 删除指令参数。
3111
已删除可重复指令
检查自定义代码库中是否使用了指令。 调整实施以处理接口更改。
3112
已移除指令位置
检查自定义代码库中是否使用了指令。 调整实施以处理接口更改。
3201
类型已更改类型
列出引用此字段的所有查询。 检查自定义实施是否使用这些查询。 更新客户端代码以处理更改的查询接口。
3203
字段更改类型
检查自定义项代码库中是否引用了字段。 调整实施以正确处理新字段类型。
3207
参数更改类型
检查自定义代码库中是否使用了字段。 更新此字段的参数类型。
3303
已添加必填输入字段
如果使用包含此字段的查询进行自定义,则应将字段添加到请求中。
3307
已添加所需的参数
检查自定义代码库中是否使用了字段。 使用字段时应指定新的必需参数。
3310
已添加所需的指令参数
检查自定义代码库中是否使用了指令。 添加指令参数。

错误数

自定义代码

当自定义代码使用未考虑/标记为@api的Adobe Commerce入口点时,会引发自定义代码错误。 不能保证保留此类入口点的行为。 自定义应依赖于@api入口点。 基于非API Adobe Commerce代码的功能应在升级后进行测试。 当主要编码标准被破坏时,也会报告这些错误。

错误代码
错误描述
建议的操作
1104
使用继承API接口的非API类
未标记为@api的类可能会被更改。 请考虑更新代码以依赖标记为@api的接口。 否则,应在升级后测试依赖此实施的功能。
1121
从非Adobe Commerce API类扩展
扩展类不再存在于代码库中。 不建议使用继承方法来扩展Adobe Commerce功能。 更新代码以使用标记为@api的类。
1122
导入非Adobe Commerce API类
扩展类不再存在于代码库中。 更新代码以使用标记为@api的类。 否则,应在升级后测试依赖此实施的功能。
1123
加载非Adobe Commerce API类
扩展类不再存在于代码库中。 更新代码以使用标记为@api的类。 否则,应在升级后测试依赖此实施的功能。
1124
使用非Adobe Commerce API类
扩展类不再存在于代码库中。 更新代码以使用标记为@api的类。 否则,应在升级后测试依赖此实施的功能。
1224
使用非Adobe Commerce API常量
未标记为@api的常量可能会发生更改。 请考虑在自定义代码中引入并使用所需值的私有常量。
1225
覆盖非Adobe Commerce API常量
未标记为@api的常量可能会发生更改。 请考虑在自定义代码中引入并使用所需值的私有常量。
1226
分配非Adobe Commerce API常量
未标记为@api的常量可能会发生更改。 请考虑在自定义代码中引入并使用所需值的私有常量。
1322
导入的非Adobe Commerce API接口
可以更改未标记为@api的接口。 请考虑删除此继承,或将其替换为标记为@api的Adobe Commerce接口或自定义代码范围内引入的接口的继承。
1324
使用的非Adobe Commerce API接口
可以更改未标记为@api的接口。 请考虑删除此继承,或将其替换为标记为@api的Adobe Commerce接口或自定义代码范围内引入的接口的继承。
1327
继承的非Adobe Commerce API接口
未标记为@api的常量可能会发生更改。 请考虑在自定义代码中引入并使用所需值的私有常量。
1328
实施了非Adobe Commerce API接口
可以更改未标记为@api的接口。 请考虑删除此继承,或将其替换为标记为@api的Adobe Commerce接口或自定义代码范围内引入的接口的继承。
1420
实例化非Adobe Commerce API类/接口
未标记为@api的类可能会被更改。 请考虑更新代码以依赖标记为@api的接口。 否则,应在升级后测试依赖此实施的功能。 另外,检索类实例的推荐方法是使用DI。 如果需要类的新实例,请考虑使用工厂。
1428
可能与实施详细信息存在依赖关系。
未标记为@api的类可能会被更改。 请考虑更新代码以依赖标记为@api的接口。 否则,应在升级后测试依赖此实施的功能。
1429
调用非Adobe Commerce API方法
未标记为@api或未在API类/接口中声明的方法可能会被更改。 即使在新版本中未更新方法的接口,其行为或输出也可能不同。 考虑依赖接口方法。 否则,应在升级后测试依赖此实施的功能。
1449
对非接口方法的调用(实现中存在)
未在接口中声明的方法可能会被更改。 考虑依赖接口方法。 否则,应在升级后测试依赖此实施的功能。
1524
使用非Adobe Commerce API资产
未标记为@api的属性的值可能会发生更改。 请考虑改用API接口方法。
1525
覆盖非Adobe Commerce API属性
未标记为@api的属性的值可能会发生更改。 请考虑改用API接口方法。
1526
分配非Adobe Commerce API资产
未标记为@api的属性的值可能会发生更改。 请考虑改用API接口方法。
5004
已弃用不带参数的函数
传递输入以作为函数的第一个参数进行验证。
5007
不鼓励使用某些功能
避免使用这些函数。
5009
模板指令不能调用方法。 只允许访问标量数组
从模板中删除方法调用。
5010
模板@vars注释块包含无效的JSON
修复了无效的JSON。
5011
模板@vars注释块包含无效标签
修复无效标签。
5012
模板@vars注释块缺少在模板中使用的变量
将缺少的变量添加@vars注释块。
5013
避免将自关闭标记与非void html元素一起使用
请改用关闭标记。
5014
"active"属性已过时
活动模块的列表在部署配置中定义。
5015
<param>节点已过时
请改用<argument name="..." xsi:type="...">
5016
<instance>节点已过时
请改用<argument name="..." xsi:type="object">
5017
<array>节点已过时
请改用<argument name="..." xsi:type="array">
5018
<item key="...">节点已过时
请改用<item name="..." xsi:type="...">
5019
<value>节点已过时
请改为提供实际值作为文本文本。
5020
过时的节点: <supported_blocks>
将替换为<supported_containers>
5021
过时的节点: <block_name>
将替换为<container_name>
5022
检测到工厂名称
构件类型不应以/开头。
5023
在线检测到过时的ACL结构
请查看lib/internal/Magento/Framework/Acl/etc/acl.xsd。
5024
行中检测到过时的菜单结构
请查看app/code/Magento/Backend/etc/menu.xsd。
5025
在文件中检测到过时的系统配置结构
请查看app/code/Magento/Config/etc/system_file.xsd。
5026
不使用"text/javascript"类型特性
仅使用公共成员。
5028
Block类的受保护和私有成员的访问在phtml模板中已过时
仅使用公共成员。
5031
Contains过时方法
请改用getConnection()方法。
5042
PHP类引用的格式不正确
检查是否仅使用驼峰式大小写字母、数字和无前导斜杠引用类。
5043
模块引用的格式不正确
检查是否仅使用字母、数字、下划线和前导斜杠引用模块。
5044
Zend_Db_Select受限制
建议的替换: \Magento\Framework\DB\Select
5045
Zend_Db_Adapter_Pdo_Mysql受限制
建议的替换: \Magento\Framework\DB\Adapter\Pdo\Mysql
5046
Magento\Framework\Serialize\Serializer\Serialize受限制
建议的替换: Magento\Framework\Serialize\SerializerInterface
5047
ArrayObject受限制
建议的替换:自定义类,使用覆盖的序列化/非序列化方法从ArrayObject扩展。
5048
Magento\Framework\View\Element\UiComponent\ArrayObjectFactory受限制
建议的替换:创建自定义类的工厂,使用覆盖的序列化/非序列化方法从ArrayObject扩展。
5050
正在引用的块将被删除
删除对块的引用。
5051
output="toHtml"已过时
使用output="1"
5052
\Magento\Framework\View\Element\Text\ListText不应再用于布局中
从布局中删除类\Magento\Framework\View\Element\Text\ListText
5053
不允许通过布局指令<action>调用方法
避免在<action>中使用违规方法。
5054
helper属性包含/
从帮助程序属性中删除/
5055
helper属性不包含::
::添加到帮助程序属性。
5056
安装脚本已过时
在模块的etc/db_schema.xml文件中使用声明性模式方法。
5057
InstallSchema脚本已过时
在模块的etc/db_schema.xml文件中使用声明性模式方法。
5058
InstallData脚本已过时
在模块的设置/修补/数据目录中使用数据修补程序方法。
5059
安装脚本已过时
在模块的Setup文件夹中创建类InstallData。
5060
升级脚本已过时
在模块的etc/db_schema.xml文件中使用声明性模式方法。
5061
UpgradeSchema脚本过时
在模块的etc/db_schema.xml文件中使用声明性模式方法。
5062
UpgradeData脚本过时
在模块的设置/修补/数据目录中使用数据修补程序方法。
5063
升级脚本已过时
在模块的设置/修补/数据目录中使用数据修补程序方法。
5064
循环脚本已过时
在模块的Setup文件夹中创建Recurring类。
5065
'data'位于无效目录中
在模块的Setup/Patch/Data文件夹中创建数据修补程序以进行数据升级,或在模块的etc/db_schema.xml文件中使用声明性模式方法以进行模式更改。
5066
'sql'位于无效目录中
在模块的Setup/Patch/Data文件夹中创建数据修补程序以进行数据升级,或在模块的etc/db_schema.xml文件中使用声明性模式方法以进行模式更改。
5067
XPath标识的节点已过时
应更新错误中指出的过时XML。 按照错误消息中的建议操作。
5068
指令{{htmlescape}}已过时
请改用{{var}}
5069
指令{{escapehtml}}已过时
请改用{{var}}
5070
getChildHtml()不再需要第三个参数
从对getChildHtml()的调用中删除第三个参数。
5071
getChildHtml()不再需要第4个参数
从对getChildHtml()的调用中删除第4个参数。
5073
带斜杠的旧表名必须固定到直接表名
请改用直接表名。
5075
应用程序模块不应使用测试模块中的类
从测试模块中删除类的用法。
5078
类必须在构造函数中请求,否则编译器将无法查找和生成这些类
将类添加到构造函数。
5079
建议不要使用变量类变量
避免使用“var”声明类变量。
5080
检测到可能的原始SQL语句
请改用存储库或数据修补程序。
5081
建议不要在模板中使用辅助函数
请改用ViewModel。
5082
不建议在模板中使用$this
请改用$block。
5083
不允许将常量作为翻译函数的第一个参数
请改用字符串文字。
5085
不鼓励使用某些功能
请改用消息上建议的替代函数。
5087
PHP跨版本兼容性问题
按照消息中的建议检查迁移指南
5088
在必需参数之后发现的可选参数
将所需参数移到可选参数之后。
5089
找到方法可见性final private
将方法可见性从final private更改为仅private
5090
魔术方法__set_state未定义为static
必须将魔术方法__set_state定义为static
5091
具有__toString()方法的类不从Stringable接口继承
使用__toString()方法将Stringable接口添加到类。
5092
is_resource()方法用于现在返回对象的函数
is_resource()更改为instanceof对象。
6001
jQuery.andSelf()已删除
使用jQuery.addBack()
6002
jQuery $.bind$.unbind已弃用
请改用$.on$.off
6003
订阅事件的jQuery方法已弃用,不应使用
请改用.on("event name", fn)方法订阅该事件。
6003
用于触发事件的jQuery方法已弃用,不应使用
请改用.trigger("event name")方法来触发该事件。
6004
jQuery $.delegate$.undelegate已弃用
请改用$.on$.off
6005
(jQuery.load() / jQuery.unload() / jQuery.error())已删除
请改用(.on("load", fn) / .on("unload", fn) / .on("error", fn))。
6006
jQuery.size()已删除
使用jQuery.length
6007
jQuery.trim已弃用
使用String.prototype.trim
6008
addButtonaddContextToolbaraddMenuItemaddSidebarfile_browser_callbackinsert_button_items, 'inlite'主题, 'mobile'主题, 'modern'主题)已删除
更新代码以与tinymce5兼容。
6009
jQuery.isFunction()已弃用
在大多数情况下,它可被[typeof x===“函数”]替换。
6009
jQuery.type()已弃用
替换为相应的类型检查,如[typeof x === "function"]。
6009
jQuery.isArray()已弃用
请改用本机Array.isArray方法。
6009
jQuery.parseJSON()已弃用
要解析JSON字符串,请改用本机JSON.parse方法。
6010
(jQuery.expr[":"]jQuery.expr.filters)已弃用
请改用jQuery.expr.pseudos。

数据库架构

如果在目标Adobe Commerce版本中添加或删除的数据库表、列、索引或约束可能会导致与自定义数据库模式冲突,则会引发数据库模式错误。

错误代码
错误描述
建议的操作
7001
目标核心版本引入了一个与自定义模块声明的表同名的表
使用新的核心表(如果适用)或重命名自定义表
7002
由自定义模块扩展的核心表已在目标版本中删除
应从代码库中移除所有移除的核心表引用
7003
目标核心版本引入了一个与自定义模块声明的列同名的列
使用新的核心列(如果适用)或重命名自定义列
7004
目标版本中删除了由自定义模块扩展的核心列
应从代码库中移除所有移除的核心列引用
7005
目标核心版本引入了与自定义模块声明的索引具有相同引用ID的索引
删除(如果与引入的核心索引重复)或重命名自定义索引
7006
目标版本中删除了自定义模块扩展的核心索引
应从代码库中移除所有移除的核心索引引用
7007
目标核心版本引入了与自定义模块声明的约束同名的约束
移除(如果与引入的核心约束重复)或重命名自定义约束
7008
由自定义模块扩展的核心约束已在目标版本中删除
使用新核心约束(如果适用)或重命名自定义约束

警告

核心代码

当核心代码库中存在轻微不一致时,将报告这些警告。

错误代码
错误描述
建议的操作
2004
编辑器依赖项版本不匹配
问题表示标准中的编辑器依赖项版本与实际项目不同。 通过运行composer update <package_name>更新依赖关系。

自定义代码

检测到引用已弃用的代码时,会引发自定义代码警告。 此类引用应替换为受支持的扩展点。 请注意推荐的已弃用项目的@see注释。 当次要编码标准被破坏时,也会报告这些错误。

错误代码
错误描述
建议的操作
1131
从Adobe Commerce @deprecated类扩展
扩展类将在即将发布的版本中删除。 不建议使用继承方法来扩展Adobe Commerce功能。 更新代码以使用标记为@api的类。
1132
正在导入Adobe Commerce @deprecated
扩展类将在即将发布的版本中删除。 请考虑改用标记为@api的Adobe Commerce类。
1133
正在加载Adobe Commerce @deprecated
扩展类将在即将发布的版本中删除。 请考虑改用标记为@api的Adobe Commerce类。
1134
使用Adobe Commerce @deprecated
扩展类将在即将发布的版本中删除。 请考虑改用标记为@api的Adobe Commerce类。
1234
使用Adobe Commerce @deprecated常量
即将发布的版本中将删除已弃用的常量。 请考虑改为在实施中使用标记为@api的常量或专用常量。
1235
正在覆盖Adobe Commerce @deprecated常量
即将发布的版本中将删除已弃用的常量。 请考虑改为在实施中使用标记为@api的常量或专用常量。
1236
Adobe Commerce @deprecated常量的分配
即将发布的版本中将删除已弃用的常量。 请考虑改为在实施中使用标记为@api的常量或专用常量。
1332
已导入Adobe Commerce @deprecated界面
即将发布的版本中将删除已弃用的界面。 请考虑改用标记为@api的接口或类。
1334
已使用Adobe Commerce @deprecated接口
即将发布的版本中将删除已弃用的界面。 请考虑改用标记为@api的接口或类。
1337
继承自Adobe Commerce @deprecated界面
即将发布的版本中将删除已弃用的界面。 请考虑删除接口继承,改为使用标记为@api的接口或实施中引入的接口。
1338
已实施Adobe Commerce @deprecated接口
即将发布的版本中将删除已弃用的界面。 请考虑删除接口继承,改为使用标记为@api的接口或实施中引入的接口。
1430
调用未声明的数据对象方法
可以更改未声明的魔术方法。 请考虑改用接口方法。
1439
调用Adobe Commerce @deprecated方法
即将发布的版本中将删除已弃用的方法。 请考虑改为依赖在API接口中声明的方法。
1440
方法签名不匹配
使用与方法签名不匹配的参数、参数或返回类型检测核心方法的调用或覆盖。
1534
使用Adobe Commerce @deprecated属性
即将发布的版本中将删除已弃用的方法。 请考虑改为依赖在API接口中声明的方法。
1535
正在覆盖Adobe Commerce @deprecated属性
即将发布的版本中将删除已弃用的属性。 请考虑依赖在API接口中声明的方法,或者在实施中使用私有属性。
1536
Adobe Commerce @deprecated属性的分配
即将发布的版本中将删除已弃用的方法。 请考虑改为依赖在API接口中声明的方法。
5006
构造函数中绝不能显式请求代理和侦听器
应将原始类声明为构造函数参数的类型。 Interceptor/Proxy类将由框架依赖项注入实现传递。
5074
使用已弃用的方法getResource()来检测(保存/加载/删除)数据。
请改用存储库。
5086
可见性未在常量上声明
声明所有常量的可见性。

GraphQL架构

当在新版本中的架构中添加了其他项目时,会引发GraphQL架构警告。 建议审查实施,以了解是否应将其用于请求。

错误代码
错误描述
建议的操作
3206
参数默认值已更改
如果在自定义设置中使用查询,则可能必须显式指定参数值。
3302
添加到合并的类型
类型已添加到并集。 检查处理返回此合并类型的查询结果的实施,确保它能够处理添加的类型。
3304
已添加可选输入字段
已添加可选输入字段。 检查实施以确保。
3305
已添加实现的接口
字段可以接受/提供更多可在实施中考虑的信息。
3306
添加到枚举的值
已向枚举添加一个值。 如果客户端在枚举值上包含switch语句并且不包含默认大小写,则此更改可能会导致意外行为。
3308
已添加可选参数
如果查询在自定义设置中使用了新参数,则可能需要将其添加到请求中。
recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea