Drupal ComputedItemListTrait :: getValue()必须兼容FieldItemList :: getValue($ include_computed = false)

时间:2019-05-14 10:03:12

标签: drupal drupal-8

嘿,所以我的托管服务提供商对PHP 7以下的任何内容都放弃了支持,因此需要将我的drupal网站从8.4更新到8.6,这样我才不会中断等。

当尝试更新运行“ composer过时的“ drupal / *””命令时,即使我将“ drupal / core”:“ ^ 8.6.1”“添加到'composer.json'

该站点通常很好,但是我无法添加任何内容并出现以下错误:

Fatal error: Declaration of Drupal\Core\TypedData\ComputedItemListTrait::getValue() must be compatible with Drupal\Core\Field\FieldItemList::getValue($include_computed = false) in \core\modules\path\src\Plugin\Field\FieldType\PathFieldItemList.php on line 13

这是我的composer.json文件,其中提到了drupal

"require": {
    "composer/installers": "^1.0.24",
    "wikimedia/composer-merge-plugin": "^1.4",
    "drupal/core": "^8.6.1"
},
"replace": {
    "drupal/core": "^8.4"
},

所以我的摘要是我什至不确定我的drupal是否已更新,但是除了我添加内容的位置之外,该网站都可以正常工作,但我收到php错误,提示模块与核心模块不兼容。

1 个答案:

答案 0 :(得分:1)

该错误看起来像是PHP 7兼容性问题,因此我认为您的Drupal版本尚未更新。

登录后,您可以在状态报告页面上查看您当前的Drupal版本-报告>状态报告(从管理工具栏中)或https://yoursite.com/admin/reports/status

直接运行合成器(而不是编辑composer.json)是确保正确安装适当版本的Drupal核心的最佳方法,如下所示:

$ composer require drupal/core^8.6.1

这将确保在安装适当版本的Drupal核心时也可以更新composer.lock文件。