Magento 2.3 technology stack requirements
Operating systems (Linux x86-64)
Linux distributions, such as RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian, and similar. Magento is not supported on:
- Windows OS
- Mac OS
Memory requirement
Upgrading the Magento applications and extensions you obtain from Magento Marketplaces and other sources can require up to 2GB of RAM. If you are using a system with less than 2GB of RAM, we recommend you create a swap file; otherwise, your upgrade might fail.
Composer (latest stable version)
Composer is required for developers who wish to contribute to the Magento 2 codebase or anyone who wishes to develop Magento extensions.
Web servers
-
In addition, you must enable the Apache
mod_rewrite
andmod_version
modules. Themod_rewrite
module enables the server to perform URL rewriting. Themod_version
module provides flexible version checking for differenthttpd
versions. For more information, see our Apache documentation.
Database
MySQL 5.6, 5.7
Magento is also compatible with MySQL NDB Cluster 7.4.*, MariaDB 10.0, 10.1, 10.2, Percona 5.7, and other binary-compatible MySQL technologies.
Magento only uses MySQL features compatible with MariaDB. MariaDB may not be compatible with all MySQL features, however, so be sure to research compatibility issues before using a feature in your Magento module.
PHP
PHP 7.1 has reached End of Life. To maintain PCI compliance, Magento should not be run on unsupported software. Installing from GitHub will no longer work with Magento 2.3.4/PHP 7.1. The only way to install 2.3.4 with PHP 7.1.x is with Composer. Magento recommends using PHP 7.3
Supported PHP versions:
-
~7.2.0
-
~7.3.0
Required PHP extensions
The PHP installation instructions include a step for installing these extensions.
-
ext-bcmath
-
ext-ctype
-
ext-curl
-
ext-dom
-
ext-gd
-
ext-hash
-
ext-iconv
-
ext-intl
-
ext-mbstring
-
ext-openssl
-
ext-pdo_mysql
-
ext-simplexml
-
ext-soap
-
ext-xsl
-
ext-zip
-
lib-libxml
Refer to official PHP documentation for installation details.
PHP OPcache
We strongly recommend you verify that PHP OPcache is enabled for performance reasons. The OPcache is enabled in many PHP distributions. To verify if it is installed, see our PHP documentation.
If you must install it separately, see the PHP OPcache documentation.
PHP settings
We recommend particular PHP configuration settings, such as memory_limit
, that can avoid common problems when using Magento.
For more information, see Required PHP settings.
SSL
- A valid security certificate is required for HTTPS.
- Self-signed SSL certificates are not supported.
-
Transport Layer Security (TLS) requirement - PayPal and
repo.magento.com
both require TLS 1.2 or later:
Required system dependencies
Magento requires the following system tools for some of its operations:
Mail server
Mail Transfer Agent (MTA) or an SMTP server
Technologies Magento can use
- Redis versions 3.2, 4.0, 5.0 (compatible with 2.4+) for page caching and session storage. Version 5.0 is highly recommended.
- Varnish version 4.x, 5.2 or 6.2
-
Magento Commerce version 2.3.x supports the following Elasticsearch versions:
-
Elasticsearch 6.x
Magento 2.3 uses Elasticsearch PHP client version 6.1.
Magento still provides support for but does not recommend Elasticsearch 2.x and 5.x.
If you must run Elasticsearch 2.x or 5.x with Magento 2.3.1, you must change the Elasticsearch client version.
Follow the instructions in Change Elasticsearch Module.
-
-
RabbitMQ 3.8.x (compatible with 2.0 and later)
RabbitMQ can be used to publish messages to queue and to define the consumers that receive the messages asynchronously.
Magento Commerce only
-
Three master databases
These master databases provide scalability advantages for different functional areas of the Magento application such as checkout, orders, and all remaining Magento2 application tables.
Optional but recommended
- php_xdebug 2.5.x or later (development environments only; can have an adverse effect on performance)
There is a known issue with xdebug
that can affect Magento installations or access to the storefront or Magento Admin after installation. For details, see Known issue with xdebug.
mcrypt
(for PHP < 7.2)- PHPUnit (as a command-line tool) 6.2.0