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.