本文由Mageplaza的专家研究,指导用户使用命令行和 composer 升级 Magento 2 版本,让我们根据教程一步一步的来操作。
升级 Magento 2 的步骤:
-
第1步:备份你的店铺
-
第2步:开启维护模式
-
第3步:升级到 Magento 2
-
第4步:检查当前 Magento 2 的版本
第1步:备份你的店铺
创建 Magento 2 网站的备份是非常紧急且必要的,如果你的网站有任何的更改或者损坏,你可以通过备份管理保护你的数据不会丢失。
第2步:开启维护模式
在升级的时候,需要把你的店铺置于维护模式。启动维护模式:
php bin/magento maintenance:enable
这样将会创建一个新的文件 var/.maintenance.flag 。如果你不能禁用维护模式,你可以移除此文件(切记!)
第3步:升级到 Magento 2
本次举例,我要升级到 Magento 2.2.1 版本,可以去官方下载页面或者 Github releases 查看最新版本。
3.1 下载安装包
首先,在终端/命令提示符( terminal/command-prompt) 使用以下命令:
composer require magento/product-community-edition 2.2.1 --no-update composer update
你可能需要用户名和密码来生成公钥/私钥对,如下图:
3.2 刷新缓存
现在删除 cache 和 generation,在根目录打开命令行中使用以下命令:
rm -rf var/cache/* rm -rf var/page_cache/* rm -rf var/generation/*
注意:如果你安装了 Memcached,Redis 等缓存软件,你需要手动刷新缓存。
3.3 执行 Magento 升级
升级模块和数据库
php bin/magento setup:upgrade
编译,重建索引
你应该在升级后执行编译和重建索引来获得更好的性能。
php bin/magento setup:di:compile php bin/magento indexer:reindex
注意:在 Ubuntu/Debian Linux 中,当你遇到权限问题,记得在每个命令之前加 sudo ,例如:sudo composer update。
3.5 禁用维护模式
你必须在第2步打开维护模式,现在你必须要关闭,执行以下命令来关闭它:
php bin/magento maintenance:disable
第4步:检查当前的 Magento 2 版本
接下来,运行以下命令查看 Magento 2 当前版本
php bin/magento --version
如果你的操作系统报缓存写入错误,你需要使用以下命令修改 pub 和 var 目录的权限:
chmod -R 777 pub var
常见问题
问:升级后我无法访问前端?
您可能会收到以下消息: We’re sorry, an error has occurred while generating this email.
回答:
那是因为Web服务器的读写权限。运行以下命令来解决该问题:
find var vendor pub/static pub/media app/etc -type f -exec chmod u+w {} \; && find var vendor pub/static pub/media app/etc -type d -exec chmod u+w {} \; && chmod u+x bin/magento
再次刷新缓存
rm -rf var/cache/* rm -rf var/page_cache/* rm -rf var/generation/*