Home » Magento® Tutorial » How To Set Magento 2 Mode Using CLI
How To Set Magento 2 Mode Using CLI

How To Set Magento 2 Mode Using CLI

Magento 2 comes pre-configured with a command that switches Magento 2 modes from developer mode to production mode. This not only facilitates the ease of use but also improves the overall security of the store as well. With this mode, we can set the ownership and file permissions appropriately. There is a small basic difference between the two modes, as explained below:


  • Production mode has better execution because static view files are located in the bar/static directory due to code compilation.
  • Developer mode is used for internal development on a system already secured behind the firewall. Developer mode can be of real help when you are customizing your Magento store.

Note: Developer and Production modes are set in env.php file this file locate in /app/etc/env.php

Let’s start!

Cleared Directories

When we change to Developer or Production mode, Magento system clears the contents of the following directories:




  • .htaccess files are not removed

Magento 2, by default, uses the var directories to store the cache, logs, and compiled code. Magento system allows us to customize this directory.


  • Ownership and Permissions for Developer Mode

When you change to developer mode, Magento system clears directories only. Magento doesn’t set specific permissions on existing files. Magento system sets the following permissions on these directories and subdirectories:

Directories: 770

770 permissions, give full control to an owner and the group.

Files: 660

660 permissions, give write and read permissions to owner and the group.

Ownership and Permissions for Production Mode

When you change to Production mode, changing modes effects permissions and ownership of the following subdirectories:




When you change to Production mode, Magento system set the following permissions on these directories and subdirectories:

Directories: 750

750 permissions give full control to the owner to read and execute permissions to the group.

Files: 640

640 permissions give write and read permissions to the owner and the group.

How to Display Current Mode

For the display of current mode you can use these commands:

magento deploy:mode:show


Message will be similar like this:

Current application mode: developer


Change Modes in Magento 2

To change the modes in your Magento 2, you can use this command:

magento deploy:mode:set {mode} [-s|–skip-compilation]

If you want to change to either Developer or Production mode, just replace {mode}.

–skip-compilation is an optional parameter. We can use this for skip code compilation when we change to production mode.

  • How to Change Production Mode

When we change to Production mode using this command:

magento deploy:mode:set production

Following summary is shown in Message:

Enabled maintenance mode
Requested languages: en_US
=== frontend -> Magento/luma -> en_US ===
… more …
Successful: 1884 files; errors: 0

=== frontend -> Magento/blank -> en_US ===
… more …
Successful: 1828 files; errors: 0

=== adminhtml -> Magento/backend -> en_US ===
… more …

=== Minify templates ===
… more …
Successful: 897 files modified

New version of deployed files: 1440461332
Static content deployment complete Gathering css/styles-m.less sources. Successfully processed LESS and/or SASS files CSS deployment complete Generated classes:
   … more …
Compilation complete
Disabled maintenance mode
Enabled production mode.


  • How to Change Developer Mode

When we change from Production mode to Developer mode, we should clear generated classes and Object Manager entities like proxies to unexpected errors. With these following steps we can change modes:

  • When we changing from Production mode to Developer mode, we need to delete the contents of the var/generation and var/di directories using this command:
rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/*


  • Set the mode using this command:
magento deploy:mode:set developer


You should be getting a message similar to this:

Switched to developer mode.

Conclusion: With this tutorial, you can easily change modes for your Magento 2 application using a command line. Leave your comments if you are stuck anywhere or want to share your suggestions with me.

Ready to foster your knowledge with MAGENTO 2 BASIC GUIDE

Is your website still a mess and Magento extensions are not enough to meet your expectations? Power up your site with Magento Web Development Services now

magento services

The following two tabs change content below.

Leave a Reply

Your email address will not be published. Required fields are marked *