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
- Apache
- nginx
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
Search
- 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.
Related topics