嘿,所以我的托管服务提供商对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错误,提示模块与核心模块不兼容。
答案 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文件。