Today, we will shed light on such an important aspect of the platform as Magento 2 system requirements. The topic is hard to overestimate, since compliance with the below conditions will help you utilize all new features and opportunities introduced in the Magento version 2. Overwise, the new ecommerce platform will be hulking and you will never get all its benefits. Now, when the importance of the following article is obvious, we can discuss Magento’s updated technology stack and its requirements.
You’ve probably heard that Magento 2 supports Nginx by default, but out-of-the-box support doesn’t mean it is already included and optimized for better performance. Unfortunately, this Magento 2 feature requires some actions to be performed, but you can always find an appropriate Magento 2 guide on Firebear: Magento 2 Nginx Configuration. In this post, we provide a sample Nginx configuration for Magento 2 as well as describe this HTTP cache and load balancer. The default solution used instead of Nginx is Apache 2.2 or 2.4.
Magento 2 System Requirements: PHP 7
Another prominent Magento 2 feature is PHP 7 support, so the platform is going to be lightning fast. Since recent benchmarks shows a dramatic increase in performance in comparison to PHP 5, the next system requirement for Magento 2 is obvious: use PHP 7 instead of older versions. Now, the system requires PHP 5.6.x or 5.5.x.
Magento 2 System Requirements: Composer
Composer is a dependency manager for PHP and Magento 2 requires using its latest stable version.
Magento 2 System Requirements: Varnish
Although Magento 2 is much faster than 1.X, you can improve its performance even more with the aid of Varnish. If you are not familiar with this software solution, it is an HTTP accelerator for heavily consumed APIs and dynamic websites used by 10% of the Top 10K online giants. You might have noticed the excellent performance of New York Times, Vimeo, Wikipedia, Twitter, or Facebook – all of them rely on Varnish. And you can easily get this solution within your Magento 2 website. For further information, follow this link: How to Configure Varnish for Magento 2.
Magento 2 System Requirements: Redis
Redis is an advanced key-value cache which provides top notch performance due to the usage of an in-memory dataset, non-blocking synchronization, and auto-reconnection with resynchronization partial on net split. Magento 2 also supports this solution out-of-the-box, so you can easily configure Redis within the platform, just check our Magento 2 tutorial here: Magento 2 Redis Configuration.
Magento 2 System Requirements: MySQL
Being a central component of the LAMP stack, MySQL is the most popular open source database for web applications. It’s prominent users are: WordPress, Joomla, Drupal, Google, Facebook, Flickr, Twitter, and YouTube. Since the project is open source, you can deploy it within your website. As for Magento 2 system requirements, it is necessary to use MySQL 5.6 or more recent version of the database.
Magento 2 System Requirements: PHPUnit and XDebug
As for Magento 2 system requirements related to testing and debugging, it is necessary to have native PHPUnit and xDebug features on your dev server. For further information about Magento 2 testing, hit this link: Testing Magento 2, if you are interested in Magento 2 debugging, check this article: How to debug Magento 2.
Magento 2 System Requirements: PHP extensions
PDO/MySQL is a driver used for the implementation of the PHP Data Objects interface with the ability to access to MySQL 3.x, 4.x and 5.x databases. It helps to take advantage of native prepared statement support.
mbstring helps you deal with multibyte encodings in PHP as well as handles character encoding conversion between possible encoding pairs. This PHP extension is designed to handle UTF-8, UCS-2, other Unicode-based encodings, and many single-byte encodings for convenience.
mcrypt is the mcrypt library interface with the support for a wide variety of block algorithms.
mhash is the mhash library interface which supports a wide variety of hash algorithms. It can be used to create message digests, checksums, message authentication codes, etc.
SimpleXML is an extension that provides tools for converting XML to an object optimized for processing with array iterators and property selectors.
curl is a client URL library that allows you to communicate with various servers via many different protocol types.
xsl is designed to implement the XSL standard via XSLT transformations and the libxslt library.
gd, ImageMagick– both are PHP extensions developed to create and modify images. The latter relies on the ImageMagick API.
soap is a tool for writing SOAP Servers and Clients.
intl is a wrapper for ICU library which enables UCA-conformant collation and date/time/number/currency formatting.
openssl uses OpenSSL functions to generate and verify signatures as well as encrypt and decrypt data.
Check the basic server requirements:
and compare them with additional services:
Magento 2 system requirements compared with 1.x
Both Magento 2 and Magento 1 support Apache 2.2, but in case of 1.x you can additionally use 1.3 and 2.0, while the new version of the ecommerce platform will work with further Apache updates.
As for system requirements related to MySQL, Magento 1 supports 4.1.20+, but if you are using Enterprise Edition 1.13 or later, you have to deal with MySQL 5.0.2+. At the same time, Magento 2 requires MySQL 5.6+.
Early CE and EE versions support PHP 5.2.13 – 5.3.24, if you use special patches, they can work with 5.4.x, while this same version is available for EE 1.14+ and CE 1.9+. Magento 2 currently requires PHP 5.6 or 5.5 and provides full support for PHP 7. Intl, ImageMagick, xsl, mhash, and mbstring are new crucial PHP extensions .
It is also necessary to mention that Magento 2 supports all the latest browsers as well as various Safari’s mobile versions. In their turn Magento 2 caching options now include Varnish 3.5+, Redis 3.0, and the latest version of memcached. Besides, the latest version of Composer is required. Additionally, you can use xDebug and PHPUnit.
That was all Magento 2 System requirements. You can check the official documentation here: System requirements. Feel free to ask any questions via the following comment field.