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

- 从 Magento Marketplace (官方市场) 安装:最推荐、最简单的方式,支持一键安装和自动更新。
- 手动安装 (通过 Composer 或 FTP):适用于从第三方网站或开发者直接获取的扩展包。
第一部分:安装前的准备工作(极其重要!)
在安装任何扩展之前,请务必执行以下步骤,这可以避免 90% 的问题。
-
备份你的网站
- 数据库备份:通过
phpMyAdmin或 Magento 的命令行工具bin/magento setup:backup --db备份数据库。 - 文件备份:通过 FTP/SFTP 或 SSH 下载整个 Magento 项目文件。
- 组合备份:最稳妥的方式是创建一个完整的系统备份,包括文件和数据库,可以使用
bin/magento setup:backup --code --db命令。
- 数据库备份:通过
-
检查扩展兼容性
- Magento 版本:确保扩展支持你当前的 Magento 版本(2.4.x, 2.3.x),在官方市场,每个扩展页面都会明确列出兼容版本。
- PHP 版本:确认你的 PHP 版本与扩展以及 Magento 版本都兼容,新版本的 Magento 通常需要更新的 PHP 版本。
- 其他依赖:检查扩展是否需要其他特定的模块或服务。
-
准备开发环境(可选但推荐)
(图片来源网络,侵删)- 如果可能,先在开发环境或本地环境中安装和测试扩展,确认无误后再部署到生产环境。
-
设置文件和目录权限
- 确保你的 Web 服务器用户(通常是
www-data或apache)对以下目录有写入权限: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/
- 确保你的 Web 服务器用户(通常是
第二部分:方法一 - 从 Magento Marketplace (官方市场) 安装
这是最简单、最安全的方法。
步骤 1:登录并购买/获取扩展
- 访问 Magento Marketplace。
- 找到你需要的扩展,点击“Buy Now”或“Get Free Extension”。
- 如果你已经购买,请登录你的账户,在“我的下载”(My Downloads) 页面找到该扩展,对于免费扩展,直接进入下一步。
步骤 2:获取 Composer 认证密钥 (Authentication Keys)
这是连接你的 Magento 项目和官方市场的凭证。
- 登录你的 Magento Marketplace 账户。
- 进入“我的账户”(My Account) -> “我的下载”(My Downloads)。
- 在左侧菜单中找到“扩展密钥”(Extensions Keys) 或类似选项。
- 你会看到一个 Public Key 和一个 Private Key。请妥善保管这两个密钥。
步骤 3:在 Magento 项目中配置 Composer
-
SSH 登录到你的服务器,并进入 Magento 项目的根目录。
(图片来源网络,侵删)cd /path/to/your/magento2
-
配置认证密钥:运行以下命令,将
<public_key>和<private_key>替换为你刚刚获取的密钥。composer config repo.magento.com composer <public_key> <private_key>
示例:
composer config repo.magento.com composer a9b8c7d6e5f4g3h2i1j0k9l8m7n6o5p4q3r2s1t0u9v8w7x6y5z4a3b2c1d0e9f8
-
安装扩展:使用 Composer 安装扩展,格式为
composer require vendor-name/module-name,你可以在扩展的市场页面上找到这个命令。composer require vendor/module-name
示例:
composer require Aheadworks/Blog
Composer 会开始下载依赖项,并更新
composer.json和composer.lock文件。
步骤 4:部署并升级 Magento
安装完依赖后,你需要将这些更改应用到你的 Magento 实例。
-
更新数据库架构和数据:
bin/magento setup:upgrade
-
编译代码(如果你的扩展包含代码生成):
bin/magento setup:di:compile
-
部署静态内容(将 CSS、JS 等文件部署到
pub/static目录):bin/magento setup:static-content:deploy <locale> # en_US zh_CN
-
清除缓存:
bin/magento cache:clean bin/magento cache:flush
你可以登录 Magento 后台,通常在 Stores (商店) -> Configuration (配置) 中找到新扩展的配置选项。
第三部分:方法二 - 手动安装 (通过 FTP/SFTP 和 Composer)
当你从第三方开发者那里获得一个 .zip 或 .tar.gz 文件时,通常需要使用此方法。
步骤 1:准备扩展包
- 从开发者处获取扩展文件(
my-module.zip)。 - 解压文件:在你的电脑上解压,你会看到一个类似
vendor-name/module-name的文件夹。
步骤 2:上传文件到服务器
- 通过 FTP/SFTP 连接到你的服务器。
- 将解压后的
vendor-name/module-name文件夹上传到 Magento 项目根目录下的app/code/目录中。- 上传后的完整路径应该是:
/path/to/your/magento2/app/code/VendorName/ModuleName
- 上传后的完整路径应该是:
步骤 3:通过 Composer 注册扩展
这一步至关重要,它告诉 Magento 这个扩展的存在,并管理其依赖关系。
-
SSH 登录到你的服务器,进入 Magento 项目根目录。
cd /path/to/your/magento2
-
创建
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\\": "" } } } -
运行 Composer 命令:回到项目根目录,执行以下命令让 Composer 扫描并注册新模块。
composer dump-autoload -o
步骤 4:启用模块
-
注册模块:运行以下命令,将模块写入
app/etc/config.php。bin/magento module:enable VendorName_ModuleName
注意:模块名是
VendorName_ModuleName格式,与文件夹名对应。 -
检查模块状态:
bin/magento module:status
确认你的模块出现在
Enabled列表中。
步骤 5:部署并升级 Magento
这部分与官方市场安装的步骤完全相同。
-
更新数据库:
bin/magento setup:upgrade
-
编译代码:
bin/magento setup:di:compile
-
部署静态内容:
bin/magento setup:static-content:deploy <locale>
-
清除缓存:
bin/magento cache:clean bin/magento cache:flush
第四部分:安装后的问题排查
如果安装后出现问题,请按以下步骤排查:
-
检查是否有错误信息:
- 浏览器:查看页面是否显示错误。
- Magento 日志:检查
var/log/exception.log和var/log/system.log文件。 - PHP 错误日志:检查服务器上的 PHP 错误日志位置(通常在
var/log/目录下或由php.ini指定)。
-
重新编译和部署:
- 有时权限或缓存问题会导致扩展不工作,再次运行编译和部署命令通常能解决问题。
bin/magento setup:di:compile bin/magento setup:static-content:deploy bin/magento cache:clean
- 有时权限或缓存问题会导致扩展不工作,再次运行编译和部署命令通常能解决问题。
-
检查权限:
- 确保
var/,pub/,app/etc/目录及其子目录有正确的写入权限。
- 确保
-
禁用并重新启用模块:
- 有时模块注册出现问题,尝试先禁用再重新启用。
bin/magento module:disable VendorName_ModuleName bin/magento module:enable VendorName_ModuleName bin/magento setup:upgrade
- 有时模块注册出现问题,尝试先禁用再重新启用。
-
查看开发者模式:
- 如果你在开发环境中,可以开启开发者模式以显示更详细的错误信息。
bin/magento deploy:mode:set developer
- 如果你在开发环境中,可以开启开发者模式以显示更详细的错误信息。
第五部分:如何卸载扩展
-
禁用模块:
bin/magento module:disable VendorName_ModuleName
-
更新数据库:
bin/magento setup:upgrade
这一步会移除模块相关的数据库表和数据。
-
删除文件:
- 删除
app/code/VendorName/ModuleName文件夹。 - 如果是通过 Composer 安装的,可以运行
composer remove vendor/module-name,然后执行composer update。
- 删除
-
清除缓存:
bin/magento cache:clean
希望这份详细的教程能帮助你成功安装和管理 Magento 扩展!
