当您在 Magento 2 商店中运行第三方模块时,激活或禁用 Magento 2 的模块是最常用的操作。第三方模块通常是您想要要启用的插件,其主要目的是改善在线业务的状态。但是,由于某些原因在您同时激活所有模块时有时会引起冲突,因此有必要禁用不是很重要的模块。
为了激活或禁用,您可以研究该模块的配置,但是在今天我们讨论,如何遵循 Mageplaza 的建议去手动激活或禁用 Magento 2 模块?这对于开发人员来说是非常有用的。
激活/禁用Magento 2模块的4个步骤
- 步骤1:登录到 Magento 文件系统
- 步骤2:执行 Magento 命令
- 步骤3:激活/禁用 Magento 2 模块
- 步骤4:更新已启用的 Magento 2 模块的数据库
步骤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 服务器根目录的子目录。
步骤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 与模块 B 冲突,则可以同时禁用它们或单独禁用它们,但是,不能同时启用两者。
每个模块的依赖性在 Magento 的 composer.json 文件中的 require 字段中列出,而模块冲突则在 conflict 字段中列出。如果模块之间存在依赖关系,仍然尝试不按照规则来激活或禁用,显示的错误消息中会提示您依赖关系图。
- A → B表示模块A依赖于模块B。
- A → B → C 表示模块A依赖模块B,而模块B依赖模块C。