I had this same issue with my new MacBook Air and Catalina. It was a because I did not have PHP installed with brew
. I looked at the page you linked to, and I am assuming you have already completed the brew install pkg-config imagemagick
. This is what I would do to get clean it up and get it working, see below.
Remove your existing imagemagick
and pkg-config
that were just installed (and PHP if it shows up in the versions list)
First, we get the php @ver name if necessary. If you don't see PHP in the list then we don't need to remove it, just remove the other two.
brew list --versions
...
imagemagick 7.0.10-0
...
pcre 8.44
php@7.3 7.3.16
pkg-config 0.29.2_2
...
Stop the php service if it is running, in my case it is @7.3
brew services stop php@7.3
Next we remove the items having issue
brew remove php@7.3 pkg-config imagemagick
or simply
brew remove pkg-config imagemagick
if PHP not installed with brew
Restart your computer (optional, but I like to do it)
Now we install the items again, include PHP this time if it was not installed with brew last time
brew install php@7.3 pkg-config imagemagick
Add PHP to your path for cmd line if not already there (optional)
echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.bash_profile
To have launchd start php@7.3 now and restart at login:
brew services start php@7.3
Or, if you don't want/need a background service you can just run:
php-fpm
Confirm PHP and imagemagick and perl/pecl are the expected versions
php -v
PHP 7.3.16 (cli) (built: Mar 19 2020 11:19:09) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.16, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.16, Copyright (c) 1999-2018, by Zend Technologies
convert --version
Version: ImageMagick 7.0.10-0 Q16 x86_64 2020-04-04 https://imagemagick.org
Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(3.1)
Delegates (built-in): bzlib freetype gslib heic jng jp2 jpeg lcms ltdl lzma openexr png ps tiff webp xml zlib
pecl version
PEAR Version: 1.10.10
PHP Version: 7.3.16
Zend Engine Version: 3.3.16
Running on: Darwin mbookair.local 19.4.0 Darwin Kernel Version 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64 x86_64
Now install iMagick using pecl
pecl install imagick
hit ENTER when you see the path question for 'autodetect'
When it's complete you can confirm the module is loaded
php -m | grep imagick
if it's loaded it will return one line with the word imagick
Test from command line imagick installed correctly
cd to your user home dir
cd ~
Run PHP as interactive shell from cmd line
php -a
Code to test at cmd line:
$im = new Imagick ();
$im->newImage (300, 225, "blue");
$im->writeImage ("test_imagick.jpg");
Exit php interactive mode by typing exit, then check if the bright blue test_imagick.jpg was created in your user dir
Troubleshooting Notes
If you are getting a warning about:
"PHP Warning: Module 'imagick' already loaded in Unknown on line 0
Warning: Module 'imagick' already loaded in Unknown on line 0"
This may be left over from the previous pecl install that did not complete. Check your php.ini file and remove duplicate extension="imagick.so"
entry