Do you use MAMP as a web development testing environment on your Mac?
Do you need the PHP ZIP extension for dealing with archive files?
Are you running Mac OS X 10.6 Snow Leopard?
I do, and found making these tools play nice together to be far harder than it should have. If you need to fix a similar setup, here are the steps that finally worked for me (on Mac OS X 10.6.4 with MAMP 1.9):
- Install XCode if you don’t already have it (we’re going to be doing a bit of compiling).
- Download the MAMP source code components (available towards the bottom of the page).
- When the MAMP source code package opens, go into the MAMP_src folder and double-click the php-5.3.2.tar.gz file (if you are using a different version of PHP, replace 5.3.2 with your actual version number).
- You should now have a php-5.3.2 folder in your Downloads folder. Open up Terminal and cd to ~/Downloads/php-5.3.2.:
cd ~/Downloads/php-5.3.2/
- Install the pcre.h header file (we need it to compile the extension):
sudo cp ext/pcre/pcrelib/pcre.h /usr/include/php/ext/pcre/
- Configure PHP for i386 architecture:
CFLAGS="-arch i386" ./configure
- Configure the ZIP extension for i386 architecture:
cd ext/zip; CFLAGS="-arch i386" ./configure
- Build the extension:
make
- Install the extension:
cp modules/zip.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/
- Enable the extension by opening /Applications/MAMP/conf/php5.3/php.ini and appending the following line:
extension=zip.so - Remove the pcre.h header file we installed earlier, we don’t need it anymore.
- Restart MAMP. If everything worked properly, you’ll be able to goto http://localhost/MAMP, click on phpInfo, and see zip in the list of enabled extensions.