There a lot of php opensouce software that requires mcrypt and it took me a few hours to get mcrypt installed and working natively on my mac, after reading many many tutorials. I originally tried to go down the homebrew (package manager) route but this didn’t work. So here are the steps I followed.

All the following steps are in terminal

Find out your version of php you are using, what ever it says make sure in the following instructions you replace 5.3.10 (my version at the time of writing) with the version you have. Also if you are using a different version of OSX (i.e. 10.6) then make sure you replace all bit that say 10.7.

php --version

Download the required packages

mkdir /tmp/mcrypt
cd /tmp/mcrypt
curl --location -s http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download | tar -zx
curl --location -s http://us.php.net/get/php-5.3.10.tar.gz/from/nl.php.net/mirror | tar -zx

Install and Make

cd /tmp/mcrypt/libmcrypt-2.5.8
MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64'  ./configure --disable-dependency-tracking
make -j6
sudo make install

PHPize

cd /tmp/mcrypt/php-5.3.6/ext/mcrypt/
phpize
MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64'  ./configure --with-php-config=/usr/bin/php-config
make -j6
sudo make install

Delete temp folder

cd ~ && rm -rf /tmp/mcrypt

Activate in PHP by adding the following line to the bottom of /ext/php.ini (you can open this file by typing sudo open /etc/php.ini or if that doesn’t work sudo nano /etc/php.ini

extension=mcrypt.so

Restart Apache.

sudo apachectl restart

If the above doesn’t work, go to system preferences -> sharing and turn off web sharing and turn it back on again.

Test the install

php --info | grep crypt

You should see something like mcrypt enabled.