Let’s monitor your PHP applications with Pinba

Do you know Pinba? It’s a great tool and you really should use it on your LAMP platform.

Pinba is a realtime monitoring/statistics server for PHP using MySQL as a read-only interface.

It accumulates and processes data sent over UDP by multiple PHP processes and displays statistics in a nice human-readable form of simple “reports“, also providing read-only interface to the raw data in order to make possible generation of more sophisticated reports and stats.

With Pinba extension users also can measure particular parts of the code using timers with arbitrary tags.

Pinba is not a debugging tool in a common sense, since you’re not supposed to do debugging on production servers, but its main goal is to help developers to monitor performance of PHP scripts, locate bottlenecks in realtime and direct developers’ attention to the code that really needs it.

Here is a sample graph :

Pinba graphs

I’m proud to announce that Pinba is now available on Dotdeb for Debian 6.0 “Squeeze”. Once you read the Pinba features and usage, you’ll want to install those two packages :

  • pinba-mysql-engine : a custom MySQL engine to store all the gathered data efficiently. It has to be installed with the latest mysql-server packages.
  • php5-pinba : the PHP extension you’ll use to accumulate data and timers directly from your PHP scripts.

I hope you enjoy it.


PHP 5.3.5, now for Squeeze

I just released PHP 5.3.5 packages for Debian 6.0 (a.k.a “Squeeze”), with some changes against the Lenny’s ones :

  • the packaging process has been improved : dependencies were cleaned up, PHP tests are now displayed, libtool 2.2 is now supported (thanks to the Debian team for their precious work)
  • 3 new useful extensions have been packaged : gearman, phpredis and xhprof (without its interface files)

With these new packages, Dotdeb’s support for Squeeze is still experimental, but almost complete. Some more packages could be added in a near future :

  • MySQL (or Percona) Server 5.5 will replace MySQL Server 5.1. More info here and here.
  • a Nginx backport

The installation instructions did not change : just add Dotdeb’s GnuPG key to your keyring, pick a mirror near you and add squeeze-related lines to your sources.list. For example :

deb squeeze all
deb-src squeeze all

And, of course, feel free to donate if you find Dotdeb useful.


You really should upgrade to PHP 5.3.5 or 5.2.17

A few days after releasing PHP 5.3.4 and PHP 5.2.16, the PHP group announced an important security update with PHP 5.3.5 and PHP 5.2.17 :

This release resolves a critical issue, reported as PHP bug #53632 and CVE-2010-4645, where conversions from string to double might cause the PHP interpreter to hang on systems using x87 FPU registers.

The problem is known to only affect x86 32-bit PHP processes, regardless of whether the system hosting PHP is 32-bit or 64-bit. You can test whether your system is affected by running this script from the command line.

All users of PHP are strongly advised to update to these versions immediately.

The Dotdeb packages for Debian “Lenny” 5.0 are now available. You really should upgrade.


PHP 5.3.4 is available

After PHP 5.3.4 has been released by the PHP Group and after the corresponding Suhosin patch has been published by Stefan Esser, the PHP 5.3.4 packages for Debian “Lenny” 5.0 are now available on Dotdeb. Thanks for your patience.

Follow these instructions if you’re installing them for the first time. And as usual, please read the full announcement and the Changelog before upgrading.

Happy new year!


PHP 5.2 last update : 5.2.16

PHP 5.2.16 has been released by the PHP Group a few days after PHP 5.2.15 (fixing an open_basedir issue). It is now available on Dotdeb for your Debian “Lenny” servers.

This maintainance release marks the end of support for PHP 5.2. You are strongly encouraged to upgrade to PHP 5.3 (read this migration guide).

Please read PHP 5.2.15 and 5.2.16 release announcements and the full Changelog before upgrading.