On August 28th, the PHP group released the first stable version of the new major branch, PHP 5.6.0 :
The PHP Development Team announces the immediate availability of PHP 5.6.0. This new version comes with new features, some backward incompatible changes and many improvements.
The main features of PHP 5.6.0 include:
- Constant scalar expressions.
- Variadic functions and argument unpacking using the … operator.
- Exponentiation using the
**
operator.- Function and constant importing with the use keyword.
- phpdbg as an interactive integrated debugger SAPI.
php://input
is now reusable, and$HTTP_RAW_POST_DATA
is deprecated.- GMP objects now support operator overloading.
- File uploads larger than 2 gigabytes in size are now accepted.
For a full list of new features, you may read the new features chapter of the migration guide.
PHP 5.6.0 also introduces changes that affect compatibility:
- Array keys won’t be overwritten when defining an array as a property of a class via an array literal.
json_decode()
is more strict in JSON syntax parsing.- Stream wrappers now verify peer certificates and host names by default when using SSL/TLS.
- GMP resources are now objects.
- Mcrypt functions now require valid keys and IVs.
On the Dotdeb side now, I wanted to make things right, so I spent my last 3 week-ends changing what happens under the hood :
- First, syncing the packaging method to Sid’s one. Thanks to the Debian maintainers for their awesome work!
- The main PHP 5.6 packages are now built using git-buildpackage.
- The PECL extensions are now built using
pkg-php-tools
and a modified version ofdebpear
. More info here… (Meaning that you could soon be able to easily package your own extensions).
Therefore, I’m now proud to announce that :
- Packages of PHP 5.6.0 are now available for Debian 7 “Wheezy” on
amd64
andi386
architectures - PECL extensions now have their own version numbers to reflect what really happens on pecl.php.net. The upgrade from previous versions of PHP should be seamless.
- The brand new PHP debugger,
phpdbg
is available through its dedicated package :php5-phpdbg
- msgpack support is now available by installing
php5-msgpack
- Pthreads support is now available by installing
php5-pthreads
php5-http
from previous versions of PHP has been updated and renamedphp5-pecl-http
, according to Debian’s guidelines
Of course, there are still points to be worked on :
- Regression :
php5-memcached
lacks JSON support - Improvement : igbinary to be supported in PHP 5.6 (
php5-igbinary
), inphp5-memcached
and inphp5-redis
. As well as msgpack inphp5-memcached
- Missing packages : Xdebug and Xhprof are missing for now
- End of support : Spplus won’t be supported anymore. Xcache’s and Pinba’s fates haven’t been decided yet
Considering this, these first packages should be seen as a preview :
- Don’t upgrade critical/production environments yet, or at your own risk!
- For users upgrading from PHP 5.5, a full migration guide is available, detailing the changes between 5.5 and 5.6.0
- The full list of changes is available in the ChangeLog
- Make sure that you understand the above PHP/Debian/Dotdeb changes and that you don’t need any of the missing features
- Your feedbacks are always welcome. Just make sure they are useful.
To install PHP 5.6 or to upgrade from previous version just follow the instructions.
I hope you’ll enjoy this new major version of PHP. And as usual, feel free to show your support :)