PHP 7.1 is available on all servers
We’re happy to announce the first release candidate of PHP 7.1 is available on all servers. PHP 7.1 keeps the speed and memory efficiency of PHP 7.0 while adding many great new language features.
Language Enhancements
Nullable types
Types can now be made nullable by using a question mark to prefix a type to denote it as nullable.
Void functions
Functions declared with void
as their return type can either not
have a return
statement or use an empty return
statement.
Class constant visibility
There is now support for specifying the visibility of class constants.
iterable
pseudo-type
A new pseudo-type (similar to callable
) called iterable
has been
added.
Multi-catch exception handling
Multiple exceptions per catch block may now be specified using the
pipe character (|
); for example:
try { // some code } catch (FirstException | SecondException $e) { // handle first and second exceptions }
Support for Negative String Offsets
Support for negative string offsets has been added to all
string-based built-in functions that accept offsets, as well as to
the array dereferencing operator ([]
).
See the entire list of new language features.
App Compatibility
Most apps that are compatible with PHP 7.0 will be compatible with PHP 7.1.
One notable backwards incompatible change between PHP 7.0 and PHP 7.1 is that invoking user-defined functions with too few arguments now results in an Error exception rather than an emitted warning.
Learn more about backward incompatible changes in PHP 7.1.
Extension Compatibility
If your apps rely on PECL extensions or third-party PHP extensions, such as ionCube, you’ll need to wait for the extension developer to add PHP 7.1 support.
The good news is that most PECL extensions that support PHP 7.0 already support PHP 7.1.
Deprecations
The mcrypt
extension has been deprecated but not removed. In PHP 7.2,
mcrypt
will be moved out of PHP core and into a separate PECL
extension. At that time, rather than mcrypt
being available by
default, you’ll need to install the mcrypt
PECL extension for PHP 7.2
to make it available to any apps you’re running on PHP 7.2 that require
mcrypt
.
Note: We have seen many incorrect articles stating that mcrypt
has
been removed from PHP 7.1. Those articles are incorrect due to the
authors of those articles not understanding that “deprecated” does not
mean “removed.”
How to Switch to PHP 7.1
To use PHP 7.1 with one of your apps, go to the app’s Settings in ServerPilot and change the Runtime to PHP 7.1 RC.
As always, your servers and apps using PHP 7.1 will automatically receive updates as new PHP 7.1 releases become available. When PHP 7.1.0 is released, all apps using PHP 7.1 RC will automatically begin using PHP 7.1.0.