*** All JS-Solutions Linux and Windows Shared hosting servers that are running PHP will be affected ***
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 JS-Solutions
31st Oct 2019 - Discontinue PHP 5.x
31st Dec 2019 - Discontinue PHP 7.0
31st Mar 2020 - Discontinue PHP 7.1
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.
JS-Solutions remove PHP 5.3 - 5.5 and server only support PHP 5.6 above at 30th Nov 2017
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()
now returns false and no longer initializes a session when it failed to start a session