安装Magento 2模块后的问题
{"0":"Please upgrade your database: Run \"bin\/magento setup:upgrade\" from the Magento root directory.\nThe following modules are outdated:\nMageplaza_Osc data: current version - none, required version - 2.1.8","1":"<pre>
#1 Magento\\Framework\\App\\FrontController\\Interceptor->Magento\\Framework\\Interception\\{closure}(&Magento\\Framework\\App\\Request\\Http#0000000027a6560e000000003be33d23#) called at [vendor\/magento\/framework\/Interception\/Interceptor.php:153]\n
#2 Magento\\Framework\\App\\FrontController\\Interceptor->___callPlugins('dispatch', array(&Magento\\Framework\\App\\Request\\Http#0000000027a6560e000000003be33d23#), array(array('default_store_se...', 'page_cache_from_...', 'storeCookieValid...', 'install', 'configHash'))) called at [generated\/code\/Magento\/Framework\/App\/FrontController\/Interceptor.php:26]\n
#3 Magento\\Framework\\App\\FrontController\\Interceptor->dispatch(&Magento\\Framework\\App\\Request\\Http#0000000027a6560e000000003be33d23#) called at [vendor\/magento\/framework\/App\/Http.php:137]\n
#4 Magento\\Framework\\App\\Http->launch() called at [generated\/code\/Magento\/Framework\/App\/Http\/Interceptor.php:24]\n
#5 Magento\\Framework\\App\\Http\\Interceptor->launch() called at [vendor\/magento\/framework\/App\/Bootstrap.php:261]\n
#6 Magento\\Framework\\App\\Bootstrap->run(&Magento\\Framework\\App\\Http\\Interceptor#0000000027a6567c000000003be33d23#) called at [index.php:39]\n<\/pre>","url":"\/admin\/cms\/block\/index\/key\/217e2153035ab5a787197eadf29e158a213eab4011673d6a912ec463dd32f224\/","script_name":"\/index.php"}
答案 0 :(得分:1)
“请升级数据库:运行...”表示在组件注册器(Magento\Framework\Component\ComponentRegistrar
或app/code/
中注册了一个模块,而该模块可能没有在vendor/
表中或与该模块关联的setup_module
表中的行中包含已过期的版本。
在setup_module
表中有3列,即setup_module
,module
和schema_version
列。将data_version
和schema_version
与在组件注册器中注册的模块进行比较。如果这些与“请升级您的数据库:运行...”消息不匹配,则会输出消息。
我建议您查看data_version
,以进一步了解与Magento\Framework\Module\Plugin\DbStatusValidator::beforeDispatch(FrontController, RequestInterface)
和schema_version
的比较。
简而言之,要解决该错误,应运行data_version
,它将根据各种安装/升级脚本,数据/架构补丁和bin/magento setup:upgrade
的配置来更新数据库。
答案 1 :(得分:0)
在安装了Magento模块后,默认情况下始终将其禁用。
您可以通过终端或ssh控制台从设置根路径运行以下命令
bin/magento module:status
将在禁用列表中显示新安装的模块(如果您使用的是Mageplaza一页结帐模块),并在运行此命令后显示为Mageplaza_Osc
。
要启用该模块,可以使用以下命令。
bin/magento module:enable Mageplaza_Osc
,然后在命令下方触发。
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
setup upgrade将运行upgrade命令,然后该模块将注册当前的安装版本并安装需要DB更新,并且只有在您安装了该模块的较新版本时,它才会再次升级,因为在这种情况下,如果有任何与数据库相关的更改,那么他们也可以表现出色。