我正在将网站从8.3.5升级到8.5.1

我更新了代码库,通过composer配置了模块,并使用cgr升级了drush安装,并在安装中运行drush 9。我的网站在本地环境中的开发数据库上运行得很好

我正在将数据库从生产服务器移植到开发环境中。将Acquia DevDesktop 2用于本地开发环境。
我可以运行drush状态,一切似乎都很好:


  数据库主机名:127.0.0.1
  DB端口:33067
  数据库用户名:drupaluser
  数据库名称:site_migration_851
  数据库:已连接
  Drupal引导程序:成功
  默认主题:site_theme
  管理员主题:七个
  PHP二进制文件:/ Applications / DevDesktop / php5_6 / bin / php
  PHP配置:/Applications/DevDesktop/php5_6/bin/php.ini
  PHP OS:达尔文
  提取脚本:/ Volumes / Video_Drive / web / DrupalProjects / site-mig
                      ration-851 /供应商/ drush / drush / drush Drush版本:9.2.3
  冲击温度:/ tmp
  Drush配置:/ Volumes / Video_Drive / web / DrupalProjects / site-mig
                      ration-851 / vendor / drush / drush / drush.yml安装配置文件:标准
  Drupal根目录:/ Volumes / Video_Drive / web / DrupalProjects / site-mig
                      ration-851网站路径:网站/默认
  公用文件:网站/默认文件
  临时文件:/ tmp


我无法在浏览器中加载网站,出现以下错误:


  该网站遇到意外错误。请再试一遍
  以后.Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException:
  在Symfony \ Component \ HttpKernel \ EventListener \ RouterListener-> onKernelRequest()中找不到“ GET /”路由
  (vendor / symfony / http-kernel / EventListener / RouterListener.php的第144行)。
  
  Drupal \ Core \ Routing \ AccessAwareRouter-> matchRequest(Object)
  (行:114)
  Symfony \ Component \ HttpKernel \ EventListener \ RouterListener-> onKernelRequest(Object,
  'kernel.request',对象)call_user_func(Array,Object,
  'kernel.request',对象)(第111行)
  Drupal \ Component \ EventDispatcher \ ContainerAwareEventDispatcher-> dispatch('kernel.request',
  对象)(线:127)
  Symfony \ Component \ HttpKernel \ HttpKernel-> handleRaw(对象,1)
  (第68行)Symfony \ Component \ HttpKernel \ HttpKernel-> handle(Object,
  1,1)(行:57)
  Drupal \ Core \ StackMiddleware \ Session-> handle(Object,1,1)(行:
  47)Drupal \ Core \ StackMiddleware \ KernelPreHandle-> handle(Object,1,
  1)(第47行)
  Drupal \ Core \ StackMiddleware \ ReverseProxyMiddleware-> handle(对象,
  1,1)(行:50)
  Drupal \ Core \ StackMiddleware \ NegotiationMiddleware-> handle(对象,
  1,1)(第23行)Stack \ StackedHttpKernel-> handle(Object,1,1)
  (行:664)Drupal \ Core \ DrupalKernel-> handle(Object)(行:19)
  


运行drush cr时,出现以下错误:
[错误]由于不可恢复的错误,Drush命令异常终止。
错误:在/Volumes/web/DrupalProjects/site-migration-851/core/includes/common.inc,第1123行中调用未定义的函数system_rebuild_module_data()

我尝试使用令牌运行/core/rebuild.php,该令牌生成得很好,但是由于出现与上述相同的消息而出错。

在阅读了其他人在这里以及在drupal社区站点上所经历的内容之后,我已经手动截断了数据库中的“ cache_”表。

我还检查了配置管理器设置,并且uuid与旧的dev数据库相同。我重置了它,尝试对prod db运行同步更改,但没有任何更改。

仍然无法使用prod DB加载站点。目标是使代码库与生产数据库一起运行,因为它具有正确的内容等。

生产数据库中是否存在某种干扰核心旋转正确路线的东西?

更新:

我重新运行作曲家更新和作曲家安装
能够成功进入/core/install.php页面。
它告诉我已安装了drupal。
重新开始的第一个选项是不可取的,因为我需要保留内容数据。

当我转到/update.php网址时


  该网站遇到意外错误。请稍后再试。
  Symfony \ Component \ DependencyInjection \ Exception \ ServiceNotFoundException:
  您已请求不存在的服务“ access_check.db_update”。在
  Symfony \ Component \ DependencyInjection \ ContainerBuilder-> getDefinition()
  (第1024行,
  供应商/symfony/dependency-injection/ContainerBuilder.php)。
  Symfony \ Component \ DependencyInjection \ ContainerBuilder-> getDefinition('access_check.db_update')
  (行:591)
  Symfony \ Component \ DependencyInjection \ ContainerBuilder-> doGet('access_check.db_update',
  1)(电话:569)
  Symfony \ Component \ DependencyInjection \ ContainerBuilder-> get('access_check.db_update')
  (第182行)Drupal \ Core \ Update \ UpdateKernel-> handleAccess(对象,
  对象)(行:99)Drupal \ Core \ Update \ UpdateKernel-> handleRaw(对象)
  (第73行)Drupal \ Core \ Update \ UpdateKernel-> handle(Object)(第28行)


当我转到网站的首页时,它返回:


  该网站遇到意外错误。请再试一遍
  以后.Drupal \ Component \ Plugin \ Exception \ PluginNotFoundException:
  “节点”实体类型不存在。在Drupal \ Core \ Entity \ EntityTypeManager-> getDefinition()中
  (core / lib / Drupal / Core / Entity / EntityTypeManager.php的第133行)。
  
  Drupal \ Core \ Entity \ EntityTypeManager-> getHandler('node','storage')(行:169)
  Drupal \ Core \ Entity \ EntityTypeManager-> getStorage('node')
  (线:79)
  Drupal \ Core \ Entity \ EntityManager-> getStorage('node')
  (行:100)
  Drupal \ Core \ ParamConverter \ EntityConverter-> convert('43',
  阵列,“节点”,阵列)(行:100)
  Drupal \ Core \ ParamConverter \ ParamConverterManager-> convert(Array)
  (行:45)
  Drupal \ Core \ Routing \ Enhancer \ ParamConversionEnhancer-> enhance(Array,
  对象)(行:259)
  Drupal \ Core \ Routing \ Router-> applyRouteEnhancers(Array,Object)
  (行:130)Drupal \ Core \ Routing \ Router-> matchRequest(Object)(行:
  90)Drupal \ Core \ Routing \ AccessAwareRouter-> matchRequest(Object)
  (行:114)
  Symfony \ Component \ HttpKernel \ EventListener \ RouterListener-> onKernelRequest(Object,
  'kernel.request',对象)call_user_func(Array,Object,
  'kernel.request',对象)(第111行)
  Drupal \ Component \ EventDispatcher \ ContainerAwareEventDispatcher-> dispatch('kernel.request',
  对象)(线:127)
  Symfony \ Component \ HttpKernel \ HttpKernel-> handleRaw(对象,1)
  (第68行)Symfony \ Component \ HttpKernel \ HttpKernel-> handle(Object,
  1,1)(行:57)
  Drupal \ Core \ StackMiddleware \ Session-> handle(Object,1,1)(行:
  47)Drupal \ Core \ StackMiddleware \ KernelPreHandle-> handle(Object,1,
  1)(第47行)
  Drupal \ Core \ StackMiddleware \ ReverseProxyMiddleware-> handle(对象,
  1,1)(行:50)
  Drupal \ Core \ StackMiddleware \ NegotiationMiddleware-> handle(对象,
  1,1)(第23行)Stack \ StackedHttpKernel-> handle(Object,1,1)
  (行:664)Drupal \ Core \ DrupalKernel-> handle(Object)(行:19)
  


运行drush dbup和entup返回以下错误:


  致命错误:调用未定义函数system_rebuild_module_data()
  在第46行的/web/DrupalProjects/site/site/core/includes/update.inc中


另外,drush entup产生以下状态,然后出错


  [成功]不需要实体架构更新
  致命错误:调用未定义函数system_rebuild_module_data()
  在
  /web/DrupalProjects/site/site/core/includes/common.inc
  1123行
  [成功]完成执行更新。


很奇怪。

最佳答案

运行这些命令以获取对升级的Drupal的依赖。

composer update
composer install

关于php - Drupal 8.5.1升级错误-在哪里寻找故障排除?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50014644/

10-15 21:42