通过命令和composer进行升级和更新

本文由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

你可能需要用户名和密码来生成公钥/私钥对,如下图:
image

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/*

本教程翻译自Mageplaza模块开发系列,其他内容请点击下面链接: