Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save carlfj/9285217 to your computer and use it in GitHub Desktop.
Save carlfj/9285217 to your computer and use it in GitHub Desktop.
ImageMagick for MAMP
### Manual Installation ###
From: https://github.com/delphian/drupal-convert-file/wiki/Installing-ImageMagick-on-Mac-OSX-for-PHP-and-MAMP/
###### Install Ghostscript ######
Ghostscript is going to be doing the actual conversion for ImageMagick
1. `brew install ghostscript`
> If there is a failure try running `brew update` and then the command again.
###### Compile ImageMagick ######
ImageMagick must be compiled with ghostscript support to convert PDFs to images.
1. `brew install ImageMagick --with-ghostscript`
> After the above you should be able to execute `convert -list delegate` and see some entries for pdf.
###### Create PHP imagick.so extension ######
PHP will use ImageMagick through the extension imagick.so
1. `pecl install imagick`. Record the location of imagick.so when this command is finished.
2. Locate your php.ini file `php --ini | grep "Loaded Configuration File`.
3. Locate your extension directory `cat /Applications/MAMP/bin/php/php5.3.6/conf/php.ini | grep extension_dir`
4. Copy imagick.so into extension directory if its not already there (pecl may already have done it).
> If you receive the error: `php_imagick.h:40:10: fatal error: 'php.h' file not found`
> then please reference: [MAMP doesn’t ship with a bunch of the PHP sources](http://stackoverflow.com/questions/10717752/having-problems-while-try-to-install-oauth-with-pecl-in-mamp-on-mac-os-lion#11175197)
> If autoconf is missing: `Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable ...`
> then check for autoconf in /usr/bin or /usr/local/bin.
> If not present install autoconf : `brew install autoconf`
> Set $PHP_AUTOCONF variable: `export PHP_AUTOCONF=/usr/local/bin/autoconf`
###### Configure PHP to use imagick.so extension ######
Add this line into your php.ini file
`extension=imagick.so`
###### Test for success ######
Run the following to test for successful install. 1 should be printed if it finds the class.
1. `php -r "print(class_exists('imagick'));"`
###### Restart apache ######
1. Restart apache through MAMP.
### Problems ###
###### PHP will not load extension or apache fails to start ######
* `Symbol not found: __cg_jpeg_resync_to_restart`
* `Incompatible library version: libMagickWand-Q16.7.dylib requires version 14.0.0 or later`
Comment out references to `DYLD_LIBRARY_PATH` in MAMP's environment configuration. _This can have unintended consequences!_
1. `vi /Applications/MAMP/Library/bin/envvars`
###### convert works from command line but not from apache ######
* `Postscript delegate failed`
Make sure apache has access to ghostscript. See [gs not in apache's environment path](http://stackoverflow.com/questions/588918/imagemagick-imagick-convert-pdf-to-jpg-using-native-php-api#591466).
1. `ln -s /usr/local/bin/gs /usr/bin/gs`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment