Skip to content
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
135 lines (87 sloc) 7.36 KB
group subgroup title menu_title menu_node menu_order functional_areas
Getting Started
Magento 2.2.x technology stack requirements
Magento 2.2.x technology stack requirements

Operating systems (Linux x86-64)

A Linux distribution such as RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian, and so on.

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]({{ page.baseurl }}/comp-mgr/trouble/cman/out-of-memory.html); otherwise, your upgrade might fail.

Composer (latest stable version)

{% glossarytooltip d85e2d0a-221f-4d03-aa43-0cda9f50809e %}Composer{% endglossarytooltip %} is required for developers who wish to contribute to the Magento 2 codebase or anyone who wishes to develop Magento extensions.

Web servers

  • Apache 2.2 or 2.4{:target="_blank"}

    In addition, you must enable the Apache mod_rewrite and mod_version modules. The mod_rewrite module enables the server to perform URL rewriting. The mod_version module provides flexible version checking for different httpd versions. For more information, see [our Apache documentation]({{ page.baseurl }}/install-gde/prereq/apache.html).

  • nginx 1.x{:target="_blank"}


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.

{ bs-callout-info} 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.


{% include install/ %}

Required PHP extensions

{ bs-callout-info} The [CentOS]({{ page.baseurl }}/install-gde/prereq/php-centos.html) and [Ubuntu]({{ page.baseurl }}/install-gde/prereq/php-ubuntu.html) PHP installation instructions include a step for installing these extensions.

  • bc-math{:target="_blank"} ({{}} only for 2.2.0 - 2.2.3. {{}} and {{}} as of 2.2.4.)
  • ctype{:target="_blank"}
  • curl{:target="_blank"}
  • dom{:target="_blank"}
  • gd{:target="_blank"}, ImageMagick 6.3.7{:target="_blank"} (or later) or both
  • intl{:target="_blank"}
  • mbstring{:target="_blank"}
  • mcrypt{:target="_blank"}
  • hash{:target="_blank"}
  • openssl{:target="_blank"}
  • PDO/MySQL{:target="_blank"}
  • SimpleXML{:target="_blank"}
  • soap{:target="_blank"}
  • spl{:target="_blank"}
  • libxml{:target="_blank"}
  • xsl{:target="_blank"}
  • zip{:target="_blank"}
  • json{:target="_blank"}
  • iconv{:target="_blank"}

PHP OPcache

We strongly recommend you verify that PHP OPcache{:target="_blank"} is enabled for performance reasons. The OPcache is enabled in many PHP distributions. To verify if it is installed, see our PHP documentation for [CentOS]({{ page.baseurl }}/install-gde/prereq/php-centos.html){:target="_blank"} or [Ubuntu]({{ page.baseurl }}/install-gde/prereq/php-ubuntu.html){:target="_blank"}.

If you must install it separately, see the PHP OPcache documentation{:target="_blank"}.

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]({{ page.baseurl }}/install-gde/prereq/php-settings.html).


  • A valid {% glossarytooltip 363d6806-6a7d-4cb6-bc47-efc62bc26a1c %}security certificate{% endglossarytooltip %} is required for HTTPS.

  • Self-signed SSL certificates are not supported.

  • Transport Layer Security (TLS) requirement - PayPal and both require TLS 1.1 or later:

    • [More information about PayPal]({{ page.baseurl }}/install-gde/system-requirements_tls1-2.html)

    • [More information about]({{ site.baseurl }}/guides/v2.1/release-notes/tech_bull_tls-repo.html)

Mail server

Mail Transfer Agent (MTA) or an SMTP server

Magento can use the following technologies:

  • [Redis]({{ page.baseurl }}/config-guide/redis/config-redis.html) version 3.2 (compatible with 2.4+ ) for page caching and session storage
  • [Varnish]({{ page.baseurl }}/config-guide/varnish/config-varnish.html) version 4.x or 5.0
  • [memcached]({{ page.baseurl }}/config-guide/memcache/memcache.html) latest stable version for session storage with either memcache or memcached PHP extensions (latest stable version)

{{}} only

  • Elasticsearch

    {{}} version 2.2.x supports the following Elasticsearch versions:

    • Elasticsearch 5.x{:target="_blank"}
    • Elasticsearch 2.x{:target="_blank"}

    Magento 2.2.3 uses Elasticsearch PHP client{:target="_blank"} version 5.1. Before version 2.2.3, Magento used PHP client version 2.0.

  • RabbitMQ 3.5.x (compatible with 2.0 and later)

    [RabbitMQ]({{ page.baseurl }}/config-guide/mq/rabbitmq-overview.html){:target="_blank"} can be used to publish messages to queue and to define the consumers that receive the messages asynchronously.

  • Three master databases

    These [master databases]({{ page.baseurl }}/config-guide/multi-master/multi-master.html) 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_xdebug2.2.0{:target="_blank"}> or later (development environments only; can have an adverse effect on performance)

{ .bs-callout-info} 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 issues that affect installation]({{ page.baseurl }}/install-gde/trouble/tshoot_install-issues.html).

  • PHPUnit (as a command-line tool) 6.2.0


[Install Magento prerequisites]({{ page.baseurl }}/install-gde/prereq/prereq-overview.html)

You can’t perform that action at this time.