I used to compile the memcached stack manually, which included igbinary. This was before I started using the remi repo, which provides updated packages without all the overhead of manual compilation.
Here are the notes I used when I used to compile igbinary manually:
Had to scp the source from another computer due to lack of direct links, the next steps assume pecl/memcached files are local and extracted $ -> wget http://pecl.php.net/get/igbinary-1.1.1.tgz $ -> tar -xzvf igbinary-1.1.1.tgz $ -> cd igbinary-1.1.1 $ -> phpize $ -> ./configure # No need for extra config params $ -> make $ -> make install # This should copy the resulting .so file to the php dir where all modules are stored $ -> /etc/init.d/httpd restart # I remember having to do this for phpinfo to reflect the setting correctly after the udpate
Now, if you view your phpinfo (or php -i from cli) igbinary support should be set to yes.
-- Update --
Be sure you have the following line in php.ini or igbinary.ini where php can read it:
; Enable igbinary extension module extension=igbinary.so
-- Update #2 --
Forgot to mention, you need to compile memcached with the following flag in order for it to use igbinary:
-- Update #3 --
In case anyone stumbles across this in the future. Manually maintaining the PHP stack along with commonly used extensions is a pain, and usually not worth the extra effort. You are better off using your distro's package manager to handle all the heavy lifting, an example of installing php with memcached with igbinary support would look like:
yum install php php-cli php-pecl-memcached php-pecl-igbinary
If your distro's upstream version of php is older and you wish to use a newer version, take a look at the REMI repo: http://blog.famillecollet.com/pages/Config-en