PHP 5.6.0 packages for Wheezy

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:

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 of debpear. 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 and i386 architectures
  • PECL extensions now have their own version numbers to reflect what really happens on 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 renamed php5-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), in php5-memcached and in php5-redis. As well as msgpack in php5-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 🙂


Dotdeb : Debian 5.0 “Lenny” support in progress…

Debian GNU/Linux 5.0 “Lenny” has been published on last Valentine’s day. Although most of the Dotdeb packages for the previous release, “Etch”, are compatible with Lenny, it is now time for Dotdeb to have dedicated packages for this new distribution.

Lenny banner

I’m actually kind of busy at work, but I managed to build and upload the most important packages : PHP5, PHP5 PECL extensions and MySQL 5.1. Additional pieces of software (Google Perftools, for example) will appear in the next few days. Please be patient and don’t hesit to make suggestions.

What (about LAMP) has changed in Lenny?

  • Apache 1.3 has been removed, in favour of Apache 2.2. You have to migrate before any other change.
  • In addition, libapache-mod-php5 is still present, but it’s a non-sense and a cause of mistake : it depends on the missing apache-common package! You have been warned.
  • MySQL 5.0 comes in a satisfying recent release (5.0.51a) and will take profit of official Debian security releases.

What will change in the Lenny branch of Dotdeb?

  • PHP5 (5.2, 5.3, …) has now the focus and will be updated frequently, so PHP4 is not maintained anymore. PHP6 will be uploaded when it’s ready.
  • Up-to-date MySQL 5.1 packages will be provided as often as needed
  • MySQL 5.0 effort has been discontinued in favour the official Debian packages.
  • I’m wondering if I will keep maintaining the mail-related packages (Qmail, Vpopmail, Ezmlm, Qmailadmin…). If you really need them, let me know in the comments.

Should I switch to Lenny or should I stick to Etch?

It’s up to you. I will continue maintaining up-to-date packages for Etch in the next few months, so you’ll have time to upgrade your servers. Whatever you choose, you just have to take care of the Dotdeb entries in your sources.list :

  • It should refer to stable or lenny if you want to make the switch and take benefits from the brand new Debian distribution :
deb http://your.mirror/ stable all
deb-src http://your.mirror/ stable all
  • It should refer to oldstable or etch if you want to stick to the good old Etch and to take your time to upgrade.
deb http://your.mirror/ oldstable all
deb-src http://your.mirror/ oldstable all

(Please chose a mirror near your location on this page)


Thanks for using Dotdeb! This personnal project still aims (and will continue) to provide an efficient and up-to-date LAMP stack to your servers.

Documentation PHP

How to package PHP extensions by yourself

I often receive emails telling me that Dotdeb is a great tool, but that some useful packages are missing, such as some PECL extensions. I wish I could maintain many and many packages, but I don’t think it’s a good idea for the Dotdeb’s overall quality and for my free time 😉 Sorry for that.

Then, this article will show you how to build packages from your favorite PECL extensions in a strict Debian way, using the dh-make-php package.