Magento 扩展安装完全指南

在 Magento 2 中,安装扩展主要有两种方式:

magento扩展插件安装教程
(图片来源网络,侵删)
  1. 从 Magento Marketplace (官方市场) 安装:最推荐、最简单的方式,支持一键安装和自动更新。
  2. 手动安装 (通过 Composer 或 FTP):适用于从第三方网站或开发者直接获取的扩展包。

第一部分:安装前的准备工作(极其重要!)

在安装任何扩展之前,请务必执行以下步骤,这可以避免 90% 的问题。

  1. 备份你的网站

    • 数据库备份:通过 phpMyAdmin 或 Magento 的命令行工具 bin/magento setup:backup --db 备份数据库。
    • 文件备份:通过 FTP/SFTP 或 SSH 下载整个 Magento 项目文件。
    • 组合备份:最稳妥的方式是创建一个完整的系统备份,包括文件和数据库,可以使用 bin/magento setup:backup --code --db 命令。
  2. 检查扩展兼容性

    • Magento 版本:确保扩展支持你当前的 Magento 版本(2.4.x, 2.3.x),在官方市场,每个扩展页面都会明确列出兼容版本。
    • PHP 版本:确认你的 PHP 版本与扩展以及 Magento 版本都兼容,新版本的 Magento 通常需要更新的 PHP 版本。
    • 其他依赖:检查扩展是否需要其他特定的模块或服务。
  3. 准备开发环境(可选但推荐)

    magento扩展插件安装教程
    (图片来源网络,侵删)
    • 如果可能,先在开发环境本地环境中安装和测试扩展,确认无误后再部署到生产环境。
  4. 设置文件和目录权限

    • 确保你的 Web 服务器用户(通常是 www-dataapache)对以下目录有写入权限:
      • var/
      • pub/
      • app/etc/
    • 你可以 SSH 到服务器,执行以下命令(请根据你的实际用户名修改):
      # 假设 Web 服务器用户是 www-data
      sudo chown -R www-data:www-data /path/to/your/magento2
      sudo find /path/to/your/magento2 -type f -exec chmod 644 {} \;
      sudo find /path/to/your/magento2 -type d -exec chmod 755 {} \;
      sudo chmod -R 777 var/ pub/ app/etc/

第二部分:方法一 - 从 Magento Marketplace (官方市场) 安装

这是最简单、最安全的方法。

步骤 1:登录并购买/获取扩展

  1. 访问 Magento Marketplace
  2. 找到你需要的扩展,点击“Buy Now”或“Get Free Extension”。
  3. 如果你已经购买,请登录你的账户,在“我的下载”(My Downloads) 页面找到该扩展,对于免费扩展,直接进入下一步。

步骤 2:获取 Composer 认证密钥 (Authentication Keys)

这是连接你的 Magento 项目和官方市场的凭证。

  1. 登录你的 Magento Marketplace 账户
  2. 进入“我的账户”(My Account) -> “我的下载”(My Downloads)。
  3. 在左侧菜单中找到“扩展密钥”(Extensions Keys) 或类似选项。
  4. 你会看到一个 Public Key 和一个 Private Key请妥善保管这两个密钥

步骤 3:在 Magento 项目中配置 Composer

  1. SSH 登录到你的服务器,并进入 Magento 项目的根目录。

    magento扩展插件安装教程
    (图片来源网络,侵删)
    cd /path/to/your/magento2
  2. 配置认证密钥:运行以下命令,将 <public_key><private_key> 替换为你刚刚获取的密钥。

    composer config repo.magento.com composer <public_key> <private_key>

    示例:

    composer config repo.magento.com composer a9b8c7d6e5f4g3h2i1j0k9l8m7n6o5p4q3r2s1t0u9v8w7x6y5z4a3b2c1d0e9f8
  3. 安装扩展:使用 Composer 安装扩展,格式为 composer require vendor-name/module-name,你可以在扩展的市场页面上找到这个命令。

    composer require vendor/module-name

    示例:

    composer require Aheadworks/Blog

    Composer 会开始下载依赖项,并更新 composer.jsoncomposer.lock 文件。

步骤 4:部署并升级 Magento

安装完依赖后,你需要将这些更改应用到你的 Magento 实例。

  1. 更新数据库架构和数据

    bin/magento setup:upgrade
  2. 编译代码(如果你的扩展包含代码生成):

    bin/magento setup:di:compile
  3. 部署静态内容(将 CSS、JS 等文件部署到 pub/static 目录):

    bin/magento setup:static-content:deploy <locale> # en_US zh_CN
  4. 清除缓存

    bin/magento cache:clean
    bin/magento cache:flush

你可以登录 Magento 后台,通常在 Stores (商店) -> Configuration (配置) 中找到新扩展的配置选项。


第三部分:方法二 - 手动安装 (通过 FTP/SFTP 和 Composer)

当你从第三方开发者那里获得一个 .zip.tar.gz 文件时,通常需要使用此方法。

步骤 1:准备扩展包

  1. 从开发者处获取扩展文件(my-module.zip)。
  2. 解压文件:在你的电脑上解压,你会看到一个类似 vendor-name/module-name 的文件夹。

步骤 2:上传文件到服务器

  1. 通过 FTP/SFTP 连接到你的服务器。
  2. 将解压后的 vendor-name/module-name 文件夹上传到 Magento 项目根目录下的 app/code/ 目录中。
    • 上传后的完整路径应该是:/path/to/your/magento2/app/code/VendorName/ModuleName

步骤 3:通过 Composer 注册扩展

这一步至关重要,它告诉 Magento 这个扩展的存在,并管理其依赖关系。

  1. SSH 登录到你的服务器,进入 Magento 项目根目录。

    cd /path/to/your/magento2
  2. 创建 composer.json 文件:在 app/code/VendorName/ModuleName 目录下创建一个 composer.json 文件,文件内容如下:

    {
        "name": "vendor-name/module-name",
        "description": "A brief description of your module.",
        "type": "magento2-module",
        "version": "1.0.0",
        "license": [
            "OSL-3.0",
            "AFL-3.0"
        ],
        "require": {
            "php": "~7.0.0||~7.1.0||~7.2.0"
        },
        "autoload": {
            "files": [
                "registration.php"
            ],
            "psr-4": {
                "VendorName\\ModuleName\\": ""
            }
        }
    }
  3. 运行 Composer 命令:回到项目根目录,执行以下命令让 Composer 扫描并注册新模块。

    composer dump-autoload -o

步骤 4:启用模块

  1. 注册模块:运行以下命令,将模块写入 app/etc/config.php

    bin/magento module:enable VendorName_ModuleName

    注意:模块名是 VendorName_ModuleName 格式,与文件夹名对应。

  2. 检查模块状态

    bin/magento module:status

    确认你的模块出现在 Enabled 列表中。

步骤 5:部署并升级 Magento

这部分与官方市场安装的步骤完全相同。

  1. 更新数据库

    bin/magento setup:upgrade
  2. 编译代码

    bin/magento setup:di:compile
  3. 部署静态内容

    bin/magento setup:static-content:deploy <locale>
  4. 清除缓存

    bin/magento cache:clean
    bin/magento cache:flush

第四部分:安装后的问题排查

如果安装后出现问题,请按以下步骤排查:

  1. 检查是否有错误信息

    • 浏览器:查看页面是否显示错误。
    • Magento 日志:检查 var/log/exception.logvar/log/system.log 文件。
    • PHP 错误日志:检查服务器上的 PHP 错误日志位置(通常在 var/log/ 目录下或由 php.ini 指定)。
  2. 重新编译和部署

    • 有时权限或缓存问题会导致扩展不工作,再次运行编译和部署命令通常能解决问题。
      bin/magento setup:di:compile
      bin/magento setup:static-content:deploy
      bin/magento cache:clean
  3. 检查权限

    • 确保 var/, pub/, app/etc/ 目录及其子目录有正确的写入权限。
  4. 禁用并重新启用模块

    • 有时模块注册出现问题,尝试先禁用再重新启用。
      bin/magento module:disable VendorName_ModuleName
      bin/magento module:enable VendorName_ModuleName
      bin/magento setup:upgrade
  5. 查看开发者模式

    • 如果你在开发环境中,可以开启开发者模式以显示更详细的错误信息。
      bin/magento deploy:mode:set developer

第五部分:如何卸载扩展

  1. 禁用模块

    bin/magento module:disable VendorName_ModuleName
  2. 更新数据库

    bin/magento setup:upgrade

    这一步会移除模块相关的数据库表和数据。

  3. 删除文件

    • 删除 app/code/VendorName/ModuleName 文件夹。
    • 如果是通过 Composer 安装的,可以运行 composer remove vendor/module-name,然后执行 composer update
  4. 清除缓存

    bin/magento cache:clean

希望这份详细的教程能帮助你成功安装和管理 Magento 扩展!