安装Magento 2模块后出现问题

bkkx9g8r  于 2022-11-12  发布在  其他
关注(0)|答案(3)|浏览(291)

安装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"}
dpiehjr4

dpiehjr41#

“请升级您的数据库:运行...”意味着在组件注册器(Magento\Framework\Component\ComponentRegistrar)(在app/code/vendor/中)中注册了可能在setup_module表中找不到的模块,或者setup_module表中与该模块相关联的行包含过期版本。
setup_module表中有3列,即moduleschema_versiondata_version列。schema_versiondata_version将与组件注册器中注册的模块进行比较。如果这些列与“请升级您的数据库:输出“运行...”消息。
我建议查看Magento\Framework\Module\Plugin\DbStatusValidator::beforeDispatch(FrontController, RequestInterface),以了解更多关于与schema_versiondata_version的比较。
简而言之,要解决您遇到的错误,您应该运行bin/magento setup:upgrade,它将根据各种安装/升级脚本、数据/模式补丁和db_schema.xml配置来更新您的数据库。

46qrfjad

46qrfjad2#

安装Magento模块后,默认情况下它总是禁用。
您可以通过终端或ssh控制台从设置根路径运行以下命令
bin/magento module:status它将在禁用列表中显示新安装的模块,在您的情况下,它是Mageplaza onepage checkout 模块,并在运行此命令后显示命名为Mageplaza_Osc
要启用该模块,您可以使用以下命令。
bin/magento module:enable Mageplaza_Osc,然后在以下命令下激发。
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
安装程序升级将运行升级命令,然后模块将注册当前安装版本并安装所需的数据库更新,只有在您安装了更新版本的模块时,它才会再次升级,因为在这种情况下,如果存在任何与数据库相关的更改,则它们也可以执行。

pzfprimi

pzfprimi3#

使用以下命令在数据库中查找模块版本

SELECT * from setup_module WHERE module_name="Mageplaza_Osc"

然后使用正确的版本编辑关联的列。

替代解决方案

使用以下命令在数据库中查找模块版本

SELECT * from setup_module WHERE module_name="Mageplaza_Osc"

删除该行。
然后bin/magento se:up

相关问题