我正在将网站从8.3.5升级到8.5.1
我更新了代码库,通过composer配置了模块,用cgr升级了drush安装,并在安装中运行drush9。我有这个网站在我的本地环境的dev数据库上运行得很好
我正在将数据库从生产服务器移植到开发环境中。对本地开发环境使用acquia devdesktop 2。我可以运行drush状态,一切看起来都很好:
数据库主机名:127.0.0.1
db端口:33067
数据库用户名:drupaluser
数据库名称:站点\迁移\ 851
数据库:已连接
drupal引导:成功
默认主题:站点主题
管理主题:七
php二进制文件:/applications/devdesktop/php5\u 6/bin/php
php配置:/applications/devdesktop/php5_6/bin/php.ini
php os:达尔文
drush脚本:/volumes/video\u drive/web/drupapprojects/site-851/vendor/drush/drush/drush-drush版本:9.2.3
桶温度:/tmp
drush configs:/volumes/video\u drive/web/drupapprojects/site-851/vendor/drush/drush/drush.yml安装配置文件:标准
drupal root:/volumes/video\u drive/web/drupapprojects/site-851站点路径:sites/default
文件,公共:站点/默认值/文件
文件,临时:/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',object)call\u user\func(array,object,'kernel.request',object)(第111行)drupal\component\eventdispatcher\containerawareeventdispatcher->dispatch('kernel.request,对象)(行:127)symfony\component\httpkernel\httpkernel->handleraw(object,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\StackedMiddleware\reverseproxymiddleware->handle(object,1,1)(行:50)drupal\core\StackedMiddleware\negotiationmiddleware->handle(object,1,1)(行:23)stack\stackedhttpkernel->handle(object,1,1)(行:664)drupal\core\drupalkernel->handle(object)(行:19)
当我运行drush cr时,出现以下错误:[error]drush命令由于不可恢复的错误而异常终止。错误:调用/volumes/web/drupapprojects/site-migration-851/core/includes/common.inc,第1123行中未定义的函数system\u rebuild\u module\u data()
我试着用这个令牌运行/core/rebuild.php,生成的结果很好,但是错误的消息与上面的相同。
在阅读了其他人在这里和drupal社区站点上的经验之后,我手动截断了数据库中的“cache”表。
我还检查了配置管理器设置,uuid与旧的dev数据库相同。我重置了它,尝试对prod db运行同步更改,但没有任何更改。
仍然无法用prod db加载站点。目标是让代码库与生产数据库一起运行,因为它具有正确的内容等。
生产数据库中是否有什么东西干扰了核心的正确路线?
更新:
我重新运行了composer更新,composer安装成功地进入了/core/install.php页面。它告诉我drupal已经安装。第一个重新开始的选项是不可取的,因为我需要保留内容数据。
当我转到/update.php url时
网站遇到意外错误。请稍后再试。symfony\component\dependencyinjection\exception\servicenotfoundexception:您请求了一个不存在的服务“access\u check.db\u update”。在symfony\component\dependencyinjection\containerbuilder->getdefinition()中(vendor/symfony/dependency injection/containerbuilder.php的第1024行)。symfony\component\dependencyinjection\containerbuilder->getdefinition('access\u check.db\u update')(第591行)symfony\component\dependencyinjection\containerbuilder->doget('access\u check.db\u update',1)(第569行)symfony\component\dependencyinjection\containerbuilder->get('access\u check.db\u update')(第182行)drupal\core\update\updatekernel->handleaccess(object,object)(第99行)drupal\core\updatekernel->handleraw(object)(第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\entitypemanager->getstorage('node')(第79行)drupal\core\entity\entitypemanager->getstorage('node')(第100行)drupal\core\paramconverter\entityconverter->convert('43',array,'node',数组)(行:100)drupal\core\paramconverter\paramconvertermanager->convert(数组)(行:45)drupal\core\routing\enhancer\paramconversionhancer->enhancer(数组,对象)(行:259)drupal\core\routing\router->applyrouteenhancers(数组,对象)(行:130)drupal\core\routing\router->matchrequest(对象)(行:90)drupal\core\routing\accessawarerouter->matchrequest(对象)(行:114)symfony\component\httpkernel\eventlistener\routerlistener->onkernelrequest(对象,'kernel.request',object)call\u user\u func(数组,对象,'kernel.request',对象)(行:111)drupal\component\eventdispatcher\ContaineraWareeEventDispatcher->dispatch('kernel.request',object)(行:127)symfony\component\httpkernel\httpkernel->handleraw(object,1)(行:68)symfony\component\httpkernel\httpkernel->handle(object,1,1)(行:57)drupal\core\stackmiddleware\session->(object,1,1)(行:47)drupal\core\stackmiddleware\kernelprehandle->handle(object,1,1)(行:47)drupal\core\stackmiddleware\reverseproxymiddleware->handle(object,1,1)(行:50)drupal\core\stackmiddleware\negotiationmiddleware->handle(object,1,1)(行:23)stack\stackedhttpkernel->handle(object,1,1)(行:664)drupal\core\drupalkernel->handle(object)(行:19)
运行drush dbup和entup返回以下错误:
致命错误:调用第46行的/web/drupapprojects/site/site/core/includes/update.inc中未定义的函数system\u rebuild\u module\u data()
另外,drush entup生成以下状态,然后返回error
[成功]不需要实体架构更新致命错误:第1123行对/web/drupapprojects/site/site/core/includes/common.inc中未定义函数system\u rebuild\u module\u data()的调用[成功]完成了更新。
很奇怪。
7条答案
按热度按时间dnph8jn41#
很抱歉,我发现了一个5个月前的问题,我在将Drupal8.5站点更新为8.6时也遇到了同样的错误。我不能丢失数据库中的任何数据,所以使用一个新的数据库对我来说是行不通的;我跑了一半就犯了上述错误
/update.php
. 最后我删除了整个/vendor
目录并重新运行:composer install
composer updatedrush cr
bksxznpy2#
运行这些命令以获得对升级drupal的依赖。
xienkqul3#
从根目录中删除供应商目录后。请仅运行composer update命令。它将只安装基于新drupal版本的所有依赖项。
请让我知道如果你想整个过程升级它。
谢谢!
h6my8fg24#
按照以下步骤将drupal从8.3.5升级到8.5.1
更改composer.json文件中的行,即“drupal/core”:“^8.5.1”。
运行composer update(它将下载基于drupal8.5.1的所有依赖项)
然后运行drupal update1的两种方法。通过url domain/update.php或2。drush更新
注意:如果在根位置找到composer.lock,请删除它。
6qftjkof5#
遵循以下步骤
composer update
drush updbdrush entup
mwg9r5ms6#
请遵循以下流程。所有你需要用这个在腻子。
1) 在drupal主站点文件夹之外的某个地方安装新的drupal。
2) 解压此文件
3) 转到新安装的drupal根目录并删除模块、主题和站点文件夹。例如。
4) 现在回到根目录并点击下面的代码。
5) 在那之后,就去你的drupal根和运行
composer update
命令。6) 跑
drush updb
最后。rdlzhqv97#
你不能使用
CREATE DATABASE
除非你的默认值是正确的。试着用
CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
然后运行导入。