Command-line upgrade
You can upgrade Magento from the command line if you installed the software using any of the following:
- Downloaded the metapackage using
composer create-project
- Installed the compressed archive
- If you cloned the Magento 2 GitHub repository, you cannot use this method to upgrade; instead, see Update the Magento application.
- If you configured Magento use use
pub
as its root directory, see the next section. - If you’re upgrading to Magento 2.1 (including a Release Candidate) from Magento 2.0.7 or earlier and you installed sample data, see Command-line upgrade to Magento 2.1 with sample data instead of this topic.
- If you’re upgrading to version 2.1, see Upgrade to Magento version 2.1 (June 22, 2016).
Prerequisite: pub
directory root
This section applies to you only if you set the Magento root directory to <magento_root>/pub
.
If you did not do this, skip this section and continue with the next section.
If you use pub/
as your Magento root directory:
-
For the upgrade, create another subdomain or docroot that uses the Magento installation directory as its root.
Run the System Upgrade utility using that subdomain.
-
Use the following procedure to upgrade Magento using the command line.
Put your store in maintenance mode
To prevent access to your store while it’s being upgraded, put your store in maintenance mode.
You can optionally create a custom maintenance mode page.
To enable maintenance mode:
- Log in to your Magento server as, or switch to, the Magento file system owner.
-
Enable maintenance mode:
1
bin/magento maintenance:enable
For additional options, see Enable or disable maintenance mode.
Upgrade using the command line
- Log in to your Magento server as, or switch to, the Magento file system owner.
-
Change to the directory in which you installed the Magento software. For example,
1
cd /var/www/html/magento2
-
Require the Magento package using Composer and update the dependencies:
1
composer require <product> <version> --no-update
1
composer update
For example, to upgrade to Magento Open Source version 2.1.13, enter:
1
composer require magento/product-community-edition 2.1.13 --no-update
1
composer update
To upgrade to Magento Commerce version 2.1.13, enter:
1
composer require magento/product-enterprise-edition 2.1.13 --no-update
1
composer update
-
If prompted, enter your authentication keys.
-
Clean the Magento cache:
1
bin/magento cache:clean
-
Manually clear
var
subdirectories:1
rm -rf <magento_root>/var/cache/*
1
rm -rf <magento_root>/var/page_cache/*
1
rm -rf <magento_root>/var/generation/*
If you use a cache storage other than filesystem (e.g., Redis, Memcached, etc.) you need to manually clear the cache there too.
-
Update the database schema and data:
1
bin/magento setup:upgrade
-
Put your storefront online (that is, cancel maintenance mode):
1
bin/magento maintenance:disable
-
Restart Varnish if you use it for page caching.
1
service varnish restart
-
Access your storefront.
The following error might display:
1
We're sorry, an error has occurred while generating this email.
If so, perform the following tasks:
- Reset file system ownership and permissions as a user with
root
privileges. - Clear the following directories and try again:
<magento_root>/var/cache
<magento_root>/var/page_cache
<magento_root>/var/generation
- Reset file system ownership and permissions as a user with