Technology stack

Overview

This page summarizes the technologies we use. For more detailed information, see the System Requirements.

Magento’s highly modular structure includes the following open-source technologies.

Web servers

PHP

  • Composer (dependency management package for PHP)

Magento, with assistance from our community, is implementing PHP 7.2 compatibility for our upcoming 2.3.0 release. Any backward-incompatibility issues will be resolved in this release, and all 3rd party libraries now support PHP 7.2. Fully tested 7.2 support will be delivered in following patch releases.

If you are interested in participating in Magento Community projects we welcome your help! See our ZenHub board for a full list of outstanding issues.

Database

  • MySQL
  • MySQL Percona

HTTP accelerator

  • Varnish

Cache Storage

  • Redis
  • Elasticsearch (Magento Commerce versions 2.1.x and 2.2.x, and Magento Open Source version 2.3.x)

Additional technologies

  • HTML5
  • CSS3 (LESS CSS pre-processor)
  • jQuery (primary JavaScript library)
  • RequireJS (library that helps load JavaScript resources on demand)
  • Knockout.js (simplifies JavaScript UIs with the Model-View-View Model pattern)
  • Third-party libraries (Zend Framework 1, Zend Framework 2, Symfony)
  • Coding standards PSR-0 (autoloading standard), PSR-1 (basic coding standards), and PSR-2 (coding style guide), PSR-3, PSR-4

Optional stack components

  • Varnish (caching)
  • Redis (used for page caching)
  • Elasticsearch (search engine)
  • RabbitMQ (message queue)

Magento 2.2+ does not support HipHop Virtual Machine (HHVM).

Automated testing

Magento also provides automated testing suites that include unit, integration, functional and performance test scripts, as well as JavaScript tests and tools for static code analysis. Components include PHPUnit for the unit test framework and Selenium for the functional test framework.

This framework is located in the dev/tests directory. The functional testing framework mtf can be found in a separate repository. For more information, see the Functional Testing Framework guide.

Architectural basics