Installing The PHP-MemCache Module On CentOS 5.0

Author & Content by Tim Haselaars (http://www.trinix.be)

“MemCached” is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

In this howto I explain how you can very easily install it and make it avaible in PHP.

You need to activate the RPMForge custom repository (formely known as Dag Wieers): http://dag.wieers.com/rpm/packages/rpmforge-release/

Grab your specific RPM and install it:

wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-*.rpm
rpm –install rpmforge-release-*.rpm

yum install –enablerepo=rpmforge memcached

Now memcached is installed.

You can test it:

memcached -m 512 -u nobody -vv

First, you start up the memcached daemon on as many spare machines as you have. The daemon has no configuration file, just a few command line options, only 3 or 4 of which you’ll likely use:

./memcached -d -m 2048 -l 10.0.0.40 -p 11211 -u nobody

This starts memcached up as a daemon, using 2GB of memory, and listening on IP 10.0.0.40, port 11211. The -m switch specifies the amount of memory in megabytes. The -l switch specifies the IP to listen on and finally the -p switch specifies the port to listen on. The default port is 11211 and if your machine has just 1 IP you can omit the -l parameter. In the above example I set the amount of memory to 2GB. Of course you should use a sensible amount of memory. Making your machine swap to disk sort of defeats the purpose of a memory cache daemon. Note that it’s perfectly fine to run the memcached daemon on another machine than the one you’re running your actual PHP project on. You could even set up a machine totally dedicated to being a memory cache server. And if that’s not even enough you can set up multiple servers as well. The sky is the limit. Note: if you try to start the memcached as root it will require you to specify a user under which it should run with an additional -u nobody.

Installation of the PHP MemCache extension:

cd /files/download/

wget http://pecl.php.net/get/memcache-2.1.2.tgz

tar -xvf memcache-2.1.2.tgz

cd memcache-2.1.2

phpize && ./configure –enable-memcache && make

Copy the file memcache.so to the default module directory.

vi /etc/php.ini

Add

extension=memcache.so

/etc/init.d/httpd restart

If you check your phpinfo() you should see a MemCache section appear.

You can now fully use the MemCache functionality in your PHP.

Read more at Howtoforge.com

Advertisements

2 responses to “Installing The PHP-MemCache Module On CentOS 5.0

  1. This was extremely helpful, thanks.

  2. Actually I take that back, i’m getting:

    Warning: dl() [function.dl]: Unable to load dynamic library ‘/usr/lib/php/modules/memcache.so’ – /usr/lib/php/modules/memcache.so: undefined symbol: empty_string

    I can’t find anything on the empty_string issue. Once place said that would be because it was compiled against the wrong version of PHP but how can that be if I’m using phpize?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s