Drupal 6 and Memcached on MAMP 2.0

Posted on June 3, 2012

Setting up Drupal 6 to use memcached is anything but trivial. There are plenty of instructions out there, but many of these are for MAMP 1.x, or involve MacPorts. This post will show you how to quickly set up memcached locally. Best of all, this guide will leave your system ready to install other PECL extensions quickly.

You will need XCode and MAMP 2.0 installed for any of this to work. Also, it assumes you're using PHP 5.2 through MAMP's settings, but it probably works with 5.3 too. Onward.

Learning Drupal? Subscribe to my Drupal articles, tips and tutorials.

First and foremost, you should set up Homebrew. It's dramatically better than MacPorts. To install it - if you haven't already done so - just run:

1
2
/usr/bin/ruby -e "$(/usr/bin/curl -fsSL \
https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"

Once that's done, we're ready to install memcached and libevent. Do that with:

1
2
3
4
5
brew install libevent
brew install autoconf
brew install libmemcached
# Don't worry about adding memcached to your LaunchAgents folder.
# We're going to run it manually.

And that's it for the easy part. Kudos to homebrew for making this very straightforward. Now for the interesting part.

To install a PECL extension using MAMP, you need to grab the PHP source. Go ahead and do this now by going to http://us.php.net/distributions/php-5.2.17.tar.bz2, changing 5.2.17 to whatever version of PHP 5.2 your MAMP installation has. To find this out, run find /Applications/MAMP/bin/php -name 'php5.2*' and make note of the last directory.

Once you've got the source, you'll need to extract it in /Applications/MAMP/bin/php/php5.2.17 under a folder structure with the path include/php. Confusing? These lines will do it for you.

1
2
3
4
5
cd /Applications/MAMP/bin/php/php5.2.17
mkdir include
cd include
curl http://museum.php.net/php5/php-5.2.17.tar.bz2 | tar -xz
mv * php

Now we've need to run ./configure on the PHP source, and remove pear.conf from the MAMP distribution - it comes corrupted out of the box, for some reason.

1
2
3
4
 cd php
./configure
cd ../../
rm conf/pear.conf

And finally, we're ready to install the memcached PECL extension and add it to php.ini so it's enabled. Like so:

1
2
3
4
5
cd bin
./pecl install memcached
cd ../
echo -e "\n[memcached]\nextension=memcached.so" >> conf/php.ini
cd ../../

And that's it. This leaves you at the root of MAMP's installation. You should restart MAMP and enjoy fast caching. Don't forget to start memcached by running:

1
memcached -vv

This will start an instance that prints activity to the screen. Very useful when debugging locally, and very easy to restart. This completes the tutorial.

If you ever need to install another PECL extension, your MAMP installation now has all the necessary tools to do so. Just use the PECL binary in /Applications/MAMP/bin/php/php5.2.17/bin and you should be good to go.

Below is the entire set of commands, for posterity.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/usr/bin/ruby -e "$(/usr/bin/curl -fsSL \
https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"

brew install libevent
brew install autoconf
brew install libmemcached
# Don't worry about adding memcached to your LaunchAgents folder.
# We're going to run it manually.

cd /Applications/MAMP/bin/php/php5.2.17
mkdir include
cd include
curl http://museum.php.net/php5/php-5.2.17.tar.bz2 | tar -xz
mv * php
cd php
./configure
cd ../../
rm conf/pear.conf
cd bin
./pecl install memcached
cd ../
echo -e "\n[memcached]\nextension=memcached.so" >> conf/php.ini
cd ../../

Comments

john erhardtFeb. 26, 2013, 7:34 p.m.

homebrew repo is in slightly different location (here's the command listed on the homebrew page): ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Otherwise, this worked perfect. Thanks!

Reply
RitouglaApril 3, 2019, 9:44 a.m.

Interesting data is here on bob honey who just do stuff for only you.

Reply
davidFeb. 22, 2019, 10:39 a.m.

Really appreciate this wonderful post that you have provided for us.Great site and a great topic as well i really get amazed to read this. Its really good Ryan Gosling 2049 Jacket site able to provide you with the writing help you have been looking for also get result in any time.

Reply
HardylinApril 20, 2019, 10:17 a.m.

Drupal 6 and Memcached on MAMP are good for the people. As a reader i just like the creation of this blog and cheap assignment writing service blogs. This is a special blog with some basic ideas.

Reply
dsdsdMay 6, 2019, 5:41 a.m.

Par conséquent, la manière d'éliminer efficacement les préoccupations des clients en matière de vente est une connaissance et une compétence qui doivent être maîtrisées par le vendeur. bell ross montres Parce que les vendeurs intelligents savent que si vous ne pouvez pas éliminer fondamentalement les préoccupations de vos clients, la transaction sera difficile à obtenir. chopard montres La raison pour laquelle les clients sont vigilants et inquiets au sujet des vendeurs peut être qu’ils ont été victimes de tromperies lors de leurs expériences précédentes ou qu’ils ont acheté des produits pour se décevoir eux-mêmes.

Reply
jennyMay 10, 2019, 12:10 a.m.

Drupal is really good for building school websites like Do My Essay | 24HWritemyessays.com . There are many best reasons that Drupal CMS are good and effective in building school websites

Reply
ailsaJune 1, 2019, 3:36 a.m.

The number of versace watch replica in various styles. The watch is a classic style with an antique style and a stylish watch. The replica Versace watch is constantly highlighting the craftsmanship and quality.

Selling top-quality replica Versace character watches, these replica watches for sale come from manufacturers and must comply with our strict qc standards. Many watches have a specific depth of water resistance, so you don't have to bother to catch it when it rains without an umbrella.

Reply

Post New Comment