LAMPlights Personal anecdotes from my experiences using the LAMP stack

23Jan/120

The Painful Gearman Upgrade Path

The Gearman project has been slowly migrating from C to C++. This migration has gone under the radar due to the popularity of Cent OS 5 and given gearmand version of 0.14. This version of gearmand worked with any version of pecl/gearman and there was never any compelling reason to upgrade gearmand. That changed with the release of pecl/gearman 1.0

8May/110

Patching a bug in a pecl extension

In my last post I explained how to build a development version of a pecl extension.  Now we will go through the bug lifecycle in the pecl/memcache extension.  Besides writing the actual C code to fix the bug, it is considered a best practice to write a test that verifies the bug has been fixed.  I will use PECL bug #16442 - memcache_set fail with integer value as an example, even though it is already been fixed.

7May/110

Building php pecl extensions

My last post I explained how to efficiently checkout the php svn repository.  Now we need to start building pecl extensions and even php itself.  I prefer to use Cent OS for my linux needs and naturally use rpm's to track all my packages.  This means I have a stable version of php installed with all the various extensions that I could want.  Rather than messing with this stable version, I am going to build a custom debug build of php in /usr/local.  I say "debug", because this build of php will use the --enable-debug option to allow easy debugging using gdb.  Since I am doing pecl extension development, I don't want to build the trunk version of php.  I want to build my pecl extensions against the most recent stable version of php to isolate environmental issues as much as possible.

Tagged as: , , , Continue reading
2May/110

Working with the PHP source tree

The svn repository for PHP is rather large.  Trying to checkout the entire repo is both time consuming and wastes a lot of space.  Most people, including myself, are only concerned with a subset of the repository.  One of the advantages svn has over git is the ability to do partial checkouts of the repository.  I am going to borrow from an old email Rasmus sent that details how to do a partial checkout of the PHP source code.

Tagged as: , , Continue reading
10Apr/110

PECL memcache 3.0.6 released

I just released pecl/memcache version 3.0.6 in PECL. This is another set of changes to try and stabilize the new 3.0.x version. Please view the ChangeLog for a list of bug fixes.

Tagged as: , , No Comments
3Oct/100

PECL memcache 2.2.6 and 3.0.5 released

I just released memcache versions 2.2.6 and 3.0.5 in PECL.  The 3.0.5 release fixed the delete weight bug that prevented people from upgrading to the latest version of the memcached daemon.  I know this was a major issue for many shops and I hope it will allow people to continue to use the 3.0.x branch as we try to finish the non-blocking i/o changes.

These two releases are my first releases as part of the development team working on PECL memcache and the first releases in almost 20 months.  I took over, along with Pierre-Alain Joye, when Antony Dovgal and Mikael Johansson went inactive back in March 2010.  As luck would have it, I suddenly became busy myself.  Inheriting a project, especially one that is half-done, takes quite a bit of time to get comfortable with.  The 7 months since I have started have flown by and I wish I had gotten more done.  Now that some critical bug fixes are out of the way, I hope to focus more on the non-blocking i/o branch development.

Pierre and I are working on a roadmap that focuses on getting much of the 3.0.x code into a stable state.  The 2.2.x branch will probably not see any new development, but will continue to be maintained with bug fixes.

Tagged as: , , No Comments