After many hours of teeth gnashing, I've managed to get the latest version of PHP (5.4.11 at this time of writing) working with the built-in Apache version on Mac OS X 10.8.2 (Mountain Lion) and libmcrypt.
Since I've decided to give the Laravel framework a try, I had to have libmcrypt and the PHP MCrypt extension since that is a requirement of the framework.
Here is a quick rundown to help you out.
Make sure you update to the latest Command Line Tools for Xcode!
You can download it at https://developer.apple.com/downloads/
- OS X 10.8.2 Mountain Lion
Step 1: Downloading packages
Go ahead and download the latest version of PHP from the site
Also download the latest version (2.5.8) of libmcrypt, not mcrypt.
Step 2: Compiling
Unpack both PHP and libmcrypt with your favorite unpacker, or use the terminal command.
tar xvzf php-5.4.11.tar tar xvzf libmcrypt-2.5.8.tar
Start configuring and compiling libmcrypt, but not PHP.
./configure make make install
Install PHP 5.4.x via Homebrew. Since it's not in the default tap, you'll have to use some terminal commands to get to the apache-php tap.
brew tap homebrew/dupes
to get to the tap which holds some of the dependencies. Then run the following:
brew tap josegonzalez/homebrew-php
Now we can install PHP 5.4.11 via homebrew. To do so, run
brew install php54
Let it do it's thing, it might take a while.
Step 3: Configuring Apache
Open up your apache configuration file in
and change the line of your php5_module to
LoadModule php5_module /usr/local/Cellar/php54/5.4.11/libexec/apache2/libphp5.so
Good now Apache will use the PHP version we installed via homebrew.
Now edit your Bash or ZShell PATH, and add this line
export PATH="$(brew --prefix josegonzalez/php/php54)/bin:$PATH"
Restart your terminal and verify that your shell is using the PHP binary you installed through homebrew via
It should point you to
Step 4: PHP MCrypt extension
Go to the PHP version you downloaded via their website and navigate to the
folder. Punch in the following commands:
/usr/bin/phpize ./configure make make install
And you're done installing the MCrypt extension. Now to tell PHP to use that extension.
Go to the php.ini file located at
and add the following line to the file, under "Dynamic Extensions"
And you're all done! Confirm that mcrypt is installed by running
php -i | grep mcrypt
and it should say
mcrypt support => enabled
And now you're all done, when visiting your Laravel site you'll be greeted by their welcome page!