Modes play a crucial role in Magento's development and deployment processes.
They are handled by the deploy module, which can be found under the <MAGENTO_DIR>/module-
deploy directory.
The built-in php bin/magento command provides us with the following deploy
commands:
php bin/magento deploy:mode:set -- Set application mode.
php bin/magento deploy:mode:show -- Displays current application mode.
Magento differentiates between following three modes:
- default: The default after-install mode:
- Not optimized for production
- Symlinks to static view files are published to the pub/static directory
- Errors and exceptions are not shown to the user, as they are logged to the filesystem
- Should avoid using it
- developer: For development systems only:
- Symlinks to static view files are published to the pub/static directory
- Provides verbose logging
- Enables automatic code compilation
- Enables enhanced debugging
- Slowest performance
- production: For production systems:
- Errors and exceptions are not shown to the user, as they are logged to the filesystem
- Static view files are not materialized, as they are served from the cache only
- Automatic code file compilation is disabled, as new or updated files are not written to the filesystem
- Enabling and disabling the cache types is not possible from the Magento admin
- Fastest performance
💡 TIPS :
Carefully balancing developer mode with some of the cache types being enabled/disabled can provide optimal performance during development.