Announcement - Discontinuation of Old PHP versions in shared hosting environment

Dear valued customer,


Affected servers
All DomainPlus Linux and Windows Shared hosting servers that are running PHP.


As part of the upgrade to our hosting platform, we will discontinue support for outdated PHP in all our shared hosting environment.


The new PHP default version will be PHP 7.2


PHP discontinuation timeline

31st Dec 2018 - PHP announce official End-of-Life (EOL) on PHP 5.6

1st Dec 2019 - PHP will announce official End-of-Life (EOL) on PHP 7.1


PHP discontinuation timeline in Exabytes

31st Oct 2019 - DomainPlus discontinue PHP 5.x

31st Dec 2019 - DomainPlus  discontinue PHP 7.0

31st Mar 2020 - DomainPlus  discontinue PHP 7.1


Reference:

http://php.net/eol.php


PHP 5.6 End of Life (EOL) means that this PHP version will no longer receive any security updates or bug fixes.


There has been fixes and updates throughout the life cycle of PHP, and for PHP 5.6 these will stop.


It is now time to move over a new and more secure hosting environment no matter for your applications or our servers.


What Should I do?
As the upgrade is a major version change, we strongly advise all our clients to ensure all custom written applications running on our servers are fully compatible with PHP 7.0 and above.


Kindly check with your in-house webmaster/outsource webmaster/programmer regarding this matter. 


Technical Support and Additional information
For extra precautionary measures, we strongly advise our customers to perform a BACKUP on their critical data.


===================

PHP 5.6 to 7.x changes

===================


set_exception_handler() is no longer guaranteed to receive Exception objects
Code  that implements an exception handler registered with  set_exception_handler() using a type declaration of Exception will cause  a fatal error when an Error object is thrown.


Parse errors throw ParseError
Parser  errors now throw a ParseError object. Error handling for eval() should  now include a catch block that can handle this error.


E_STRICT notices severity changes
All of the E_STRICT notices have been reclassified to other levels.


Changes to variable handling
Code  that used the old right-to-left evaluation order must be rewritten to  explicitly use that evaluation order with curly braces.


Changes to list() handling
list() will now assign values to variables in the order they are defined, rather than reverse order.


Empty list assignments no longer allowed
List() can not unpack strings
Array ordering when elements are automatically created during by reference assignments has changed.
Parentheses around function arguments no longer affect behavior


Foreach loop changes
No longer changes the internal array pointer Foreach no operates on a copy of the array


Changes to division by zero error reporting
ASP Tags removed
New objects can’t be assigned by reference
Switch statements can’t have more than one default block
$HTTP_RAW_POST _DATA variable has been removed
JSON extension replaced with JSOND


Mhash extension removed
This is used for password hashing.


Mysql and mysql extension removed
Mysql  function was deprecated in PHP 5.5 removed in 7.0. Using the older  mysql_ functions will just break all the database connections. Database  connections need to rewritten.


Ereg extension removed
Replace any ereg functions with compatible functions.


===================

PHP 7.0 to 7.x changes

===================

If you are upgrading from 7.0 to 7.1, these are some changes to PHP that may cause issues:


Invalid class, interface and trait names
If you have function or variable names that are now reserved, they will throw error in the new version of PHP.


The empty index operator is not supported for strings anymore
Applying an empty index to a string throws a fatal error, now.


Array ordering when elements are automatically created has changed.
Fatal errors to Error exceptions.

In  the Date, DBA, DOM, IMAP, LDAP, mbstring, mcrypt and mysqli extensions  Fatal errors now result in an Error exception thrown. So, if you’re  checking for errors during code execution, it’s been improved, but may  not work as expected with older versions.


mb_ereg() and mb_eregi()
third parameter changed being set to an empty array if nothing was matched.


Dropped support for sslv2 stream
sslv2 was dropped from OpenSSL


Additionally, there are some function changes to the following functions
Getopt(),  Getenv(), Get_headers(), Output_reset_rewrite_vars(), Parse_url(),  Unpack(), PDO::lastinsertid()


Session_start()
now returns false and no longer initializes a session when it failed to start a session

==========


Please do not hesitate to contact us by creating a Helpdesk Ticket at https://support.domainplus.com.my/ if you have any enquiries regarding this discontinuation exercise. Thank You!


Best Regards,

Support Team
......................................
Technical Support Department