Resolved: MAMP Php can't exec ('convert') after Homebrew ImageMagick install

firedev picture firedev · Aug 23, 2011 · Viewed 8.5k times · Source

I installed Imagemagick using Homebrew on Lion, everything is fine except that it doesn't work at all when being called from php. Console:

$ convert -version
Version: ImageMagick 6.7.1-1 2011-07-29 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP   

$ which convert
/usr/local/bin/convert

PHP:

echo exec ('convert -version');

or exec('convert -version', $output); var_dump($output);

Produces nothing (or an empty array).

exec ('/usr/local/bin/convert') // works, but
exec ('which convert') // doesn't

I need to test this locally to make sure I can detect convert in production environment. But I can't properly test it. The PATH is set and it works in Terminal, but not from PHP.

Resolved:

Turns out, for php to work convert should be in /usr/bin/ so this solved it:

ln -s /usr/local/bin/convert /usr/bin/convert

Update

It was becasue of MAMP, here is the fix: http://firedevcom.tumblr.com/post/22791937644/fix-for-homebrew-imagemagick-and-mamp

Open /Applications/MAMP/Library/bin/envvars

And comment out the following lines:

DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
export DYLD_LIBRARY_PATH

Done.

Answer

firedev picture firedev · Jun 3, 2013

Adding my own answer here so you can vote:

It was caused by MAMP, here is the fix: http://firedevcom.tumblr.com/post/22791937644/fix-for-homebrew-imagemagick-and-mamp

Open /Applications/MAMP/Library/bin/envvars

And comment out the following lines:

DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
export DYLD_LIBRARY_PATH

Done.