TABLE OF CONTENTS
- PHP Versions on Hypernode
- How to Change a PHP Version on Hypernode
- The Importance of Upgrading Magento and PHP
- Magento and PHP Compatibility
- PHP 7.x Compatibility
- Testing a PHP Change
PHP Versions on Hypernode
On Hypernode you can choose from a range of PHP versions:
- PHP 5.6 -> officially EOL from 31 Dec 2018 onwards
- PHP 7.0 -> officially EOL from 3 Dec 2018 onwards
- PHP 7.1 -> officially EOL from 1 Dec 2019 onwards
- PHP 7.2
- PHP 7.3
- PHP 7.4 (only on Hypernodes running Debian Buster)
You can easily switch the PHP version of your Hypernode, but please thoroughly test a PHP change before implementing it on a live environment!
How to Change a PHP Version on Hypernode
Via the hypernode-systemctl tool
Switching can be done via the hypernode-systemctl tool. To see which value a setting has you can run the following:
hypernode-systemctl settings php_version
To set a setting to a certain value you can run the following:
hypernode-systemctl settings php_version --value 7.3
If an invalid value is provided you will be notified of this during the setting procedure.
Via your Service Panel
You can also easily switch the PHP version of a Hypernode via their Service Panel (service.byte.nl), but please thoroughly test a PHP change before implementing it on a live environment!
- Log on to your Service Panel
- Select your Hypernode by clicking the app name
- Go to tab 'Hypernode'
- Click the PHP button
- Choose a PHP version
Migrating your Hypernode to the new PHP version takes a few minutes. Once migrated to a certain PHP version, you can always go back to the previous PHP version should you notice any errors in your shop.
Via your control panel
Via the Control Panel you can change the PHP version by following the following steps
- Log on to your Control Panel
- Select the Hypernode
- Click on "PHP Settings"
- Choose a PHP version and click on "Change"
Clicking on "Change" triggers and update of the node, so it might take a few minutes before the new PHP version is active.
Check PHP version and settings
You can check the active php version on your Hypernode by using
php -v via the shell server. For more information about all extensions and settings, please use
php -i. Alternatively, create a phpinfo.php file in /data/web/public with the following snippet:
<!--?php phpinfo(); ?-->
And visit it by going to yourdomain.com/phpinfo.php. Remove this file when you are done checking, as it is not necessary to leave this information out in the open.
We support Ioncube for PHP 5.6 and PHP 7.x, but this extension is not enabled by default as it is a big performance killer. If you wish to have Ioncube enabled, please
manually enable it via the hypernode-systemctl tool.
The Importance of Upgrading Magento and PHP
An important part of maintaining a Magento shop is upgrading software regularly. By upgrading we do not only mean upgrading Magento and all its extensions and plugins in use, but also upgrading server-side software, tools - and scripting language like PHP.
It is always recommended to stay up-to-date and not only because you benefit from improvements and bug fixes. By taking small steps at the time you will save much time and effort in the long term, as upgrading at once from a very outdated release to the latest release will very likely result in errors.
Magento and PHP Compatibility
Before upgrading PHP you need to check if your Magento shop is compatible with the PHP version you would like to use. Check the Magento system requirements of your Magento version to see which PHP versions are officially supported.
Supported PHP versions for Magento 2
- PHP 7
- PHP 7.2.x
- PHP 7.3.x
- PHP 7.4.x
- PHP 7.1.x -> only Magento 2.2.x
- PHP 7.0.x
- PHP 5.6.x
Supported PHP versions for Magento CE 1.9.2 and later, Magento EE 1.14.2 and later
- PHP 5.6.x
- PHP 5.5.x -> EOL and no longer available on Hypernode from 2018-6-4 onwards
- PHP 5.4.x -> EOL and not available on Hypernode
Please use the above information as an indication!
PHP 7.x Compatibility
PHP 7 has been released 2 years ago and it turns out to be a great performance booster! It is much faster, has a better error handling and it uses less memory than previous versions. Magento 2 is fully compatible with PHP 7.0, but for Magento 1 you need patches to make it work. More information on PHP 7.0 and its compatibility with Magento 1, Ioncube and Varnish can be found in this article on speeding up your shop with PHP 7 for Magento.
PHP 7.1 is available on Hypernode, but we only recommend Magento 2.2.x shops to upgrade to PHP 7.1. Earlier versions of Magento will likely run into compatibility issues. With earlier releases of Magento 2, issues have been reported with the mcrypt extension. Do you have a Magento 2.1.x shop and are you very keen on using PHP 7.1, please check this workaround published on Cadence-Labs.
Magento released official PHP 7.2 patches for Magento 1 (in September 2018).
PHP 7.2 is supported in an experimental mode in Magento 2.3 and final support will be provided in one of the patch releases of Magento 2.3.
Magento recommends using PHP 7.3 for Magento 2.3.x shops
Magento recommends using PHP 7.4 for Magento 2.4.x shops, since this version of Magento has not been tested with PHP 7.3 or lower
Testing a PHP Change
It is not possible to test with 2 PHP versions on one Hypernode. Before switching your PHP version we recommend you to test your shop to see if everything works as it should in the new PHP version. Testing your shop without having your customers notice anything can be done with Docker for Hypernode. Docker is a tool that gives you the opportunity to set up a virtual staging environment. You can also temporarily order a Hypernode development package to test.