当您在Magento 2商店中运行第三方模块时, Magento 2启用和禁用模块是最受欢迎的操作。第三方模块通常是您要启用的插件,其主要目的是改善在线业务的状态。但是,由于某些原因在您同时激活所有模块时有时会引起冲突,因此有必要禁用不是很重要的模块。
为了启用或禁用,您可以进入该模块的配置,但是在今天的主题上,Mageplaza将建议您如何手动启用或禁用Magento 2模块?对于开发人员来说,这也许很棒。
启用/禁用Magento 2模块的4个步骤
步骤1:登录到Magento文件系统
首先,需要以拥有在Magento中写入和编辑文件系统的权限的所有者身份登录Magento文件系统。在使用bash shell的情况下,运行以下命令将帮助您以所有者身份访问Magento文件系统
su <Magento file system owner> -s /bin/bash -c
如果Magento文件系统不接受任何外部登录,请使用以下命令:
sudo -u <Magento file system owner>
步骤2:执行Magento命令
要从任何目录运行Magento命令,请添加<your Magento install dir>/bin
到系统中PATH
。
请注入<your Magento install dir>/bin
您的系统PATH
或遵循以下指示:
cd <your Magento install dir>/bin
并以它们的身份运行./magento <command name>
php <your Magento install dir>/bin/magento <command name>
<your Magento install dir>
是Web服务器docroot的子目录。
步骤3:启用/停用Magento 2模块
接下来,您可以按照以下步骤开始启用或禁用Magento 2中的模块:
运行命令
magento module:enable [-c|--clear-static-content] [-f|--force] [--all] <module-list>
magento module:disable [-c|--clear-static-content] [-f|--force] [--all] <module-list>
使用这些命令,您需要了解:
<module-list>
是要启用或禁用的模块列表。如果包含特殊字符,则该模块的名称将用单引号或双引号引起来。--all
提到您可以同时启用或禁用所有模块。-f
或--force
表示您有义务启用或禁用这些模块,而不管其依赖关系如何。-c
或--clear-static-content
表示清除所有已发布的静态视图文件。但是,如果有许多文件具有相同的名称,则不会消除所有文件。这意味着存在多个名为logo.gif的文件,这将导致错误显示该文件。
使用以下命令显示已启用和已禁用模块的列表:
magento module:status
例如,您调用已禁用的Wee模块,需要运行
magento module:disable Magento_Weee
步骤4:更新已启用Magento 2的模块的数据库
启用一个或多个模块后,应声明以下命令来请求数据库更新:
magento setup:upgrade
启用和禁用Magento 2模块的注意事项
这是为您启用或禁用与其他模块具有依赖性的模块时的注意事项。
- 如果模块A依赖于模块B:
- 必须先禁用模块A,然后再禁用模块B。
- 如果两者都不可用,则需要先启用模块B,然后再启用模块A。
- 如果模块A与模块B冲突,则可以同时禁用它们或单独禁用它们,但是尤其是不能同时启用两者。
依赖关系在每个模块require
的Magento composer.json
文件中的conflict
字段中宣布,而冲突则在该字段中宣布。如果模块之间存在依赖关系,并且您仍然尝试不使用规则来启用和禁用,则将显示错误消息并通知您依赖关系图。
- A-> B表示模块A依赖于模块B。
- A-> B-> C表示模块A依赖模块B,而模块B依赖模块C。