anoop
anoop

Reputation: 1614

ImageMagick supported formats no value

I have installed download and install ImageMagick-6.8.3-7-Q16-x86-dll.exe from the link http://imagemagick.org/script/binary-releases.php#windows and I am using Windows 7 and PHP 5.3.8.

When in install this it got installed correctly in my machine and convert commands works perfectly. On my convert config what shows is here:

enter image description here

But on my phpinfo section I get:

ImageMagick supported formats has no value

I got all the image magick values like this https://www.evernote.com/shard/s297/sh/12397c86-d016-4ca4-9415-fd541daeca39/2fc504bf5ddba5693efd3249402b2b5c.

I don't know why it is getting as no value i have installed the same ImageMagick-6.8.3-7-Q16-x86-dll.exe on php 5.3.8 in my 32 bit windows7 machine . The php_imagick.dll i downloded from other website. I don't know what is the issue i am having in install imagemaagick, if it is the issue with php_imagick.dll version can anybody suggest proper php_imagick version for this configuration?

Upvotes: 10

Views: 27901

Answers (9)

Paul Gregory
Paul Gregory

Reputation: 1753

If you have a similar headline issue on a server that is a clone of a box that is running fine, restart PHP. I saw an empty "ImageMagick supported formats" in phpInfo (and a 0 in the 'ImageMagick number of supported formats:') and just restarting PHP sorted itself out. This had been showing itself as NoDecodeDelegateForThisImageFormat `/tmp/magick-fjvaIydg' in our logs.

Upvotes: 0

R Carey
R Carey

Reputation: 11

I searched posts and tried various suggestions - for several hours. I did not attain success until I tried the steps here: https://mlocati.github.io/articles/php-windows-imagick.html (as posted by Codesmith - and I agree the steps are short, easy-to-follow). My need was to install on WAMP.

The page behind this link tells how to determine the correct version to download of Imagick and ImageMagick. Just extract three sets of files to stated directories, make a change in php.ini, and restart WAMP. My code uses only JPEG and PNG formats, so of the format-based DLLs, I moved only those.

Upvotes: 0

NS Naidu
NS Naidu

Reputation: 1

Even after installing imagick & imagemagick correctly, if it is not working, please check your Apache Environment PATH Variable. Most probably if the path variable is not showing your ImageMagick inatallation folder, please add that into windows advanced system settings/environment variables/system variables -> PATH.

Restart WAMP server and check to see the phponfo for Apache Environment PATH Variable.

Upvotes: 0

Codesmith
Codesmith

Reputation: 6752

I had the same problem, and tried everything. You do not need - as I thought - ImageMagick installed on your system to run the Imagick module for PHP. You simply need to make sure you include both the CORE_RL_* dlls as well as the IM_MOD_* dlls in the apache/bin directory, and then also the php_imagick.dll in the php/ext directory.

I'm running PHP 7.0.25 x86 via XAMPP on Windows, and these instructions were incredibly simple and helpful:

https://mlocati.github.io/articles/php-windows-imagick.html

Upvotes: 2

FDIM
FDIM

Reputation: 1989

Since its first result on google when looking for solution to this issue I'll add one that worked for me. Source: http://forums.zend.com/viewtopic.php?t=2397#p15226

I was having issues with PHP 5.6, it recognized the extension but no formats were supported. (http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/)

Installing latest version of imagemagick(with dynamic libs) and copying DLL files from imagemagickDir/modules/coders/* and imagemagickDir/modules/filters/* to imagemagick root helped, now imagemagick works properly from when calling php.

Don't forget to give IIS access to imagemagick folder.

EDIT:

When IIS successfully recognized formats, I ran into compatibility issues.

Working combo for PHP 5.6:

http://windows.php.net/downloads/pecl/releases/imagick/3.2.0b2/
http://ftp.icm.edu.pl/packages/ImageMagick/binaries/ImageMagick-6.8.8-9-Q16-x86-dll.exe

Upvotes: 4

Jorr.it
Jorr.it

Reputation: 1300

Not all versions of ImageMagick will work with all versions of php_imagick.dll. The Imagick extension v3.4.* in combination with ImageMagick 7.* gave no support for any image format. When I downgraded to ImageMagick 6.9.* the problem was solved.

On an echo of phpinfo you can see which version of ImageMagick is needed. Search for "Imagick using ImageMagick library version" and "Imagick compiled with ImageMagick version" (which should be equal).

List of binary downloads: https://www.imagemagick.org/download/binaries/

Or older versions: http://windows.php.net/downloads/pecl/deps/

Step by step instructions for installing ImageMagick on Windows: https://stackoverflow.com/a/28872879/2366136

Upvotes: 7

Spencer Williams
Spencer Williams

Reputation: 851

There are a lot of answers out there, as the landscape for this program and PHP have changed over time.

I am so cutting edge as to be using PHP 7.1 at the moment. At first I was copying DLLs all over the place like all of the instructions have you do. Luckily, all that is necessary is the latest PECL package and the corresponding version of Imagick for your system, which was the tricky part. You can't used the latest Imagick (version 7 at the time of writing this) if you want to use the PHP extension, until the extension is upgraded. You have to install a version of Imagick on your system that matches the PHP extension version.

As others have instructed, download the latest PECL package for imagick for your PHP version. Since I'm using the thread-safe x64 version of PHP 7.1, I want the 3.4.3RC1 package, the only one with a DLL for my version of PHP at this time.

Of these files, I only need to copy over php_imagick.dll. Next, head over to http://windows.php.net/downloads/pecl/deps/ and download the latest Imagick for your system which is probably going to be the VC14 one at this point, for which it seems just a matter of installing the corresponding C++ Redistributable package on your system for it to work. Simply unzip the files and add the bin to your path. Again, if you have a newer version of Imagick, you'll want to replace it with this one because this is the one that will work with the php extension.

At this point, you should be able to restart apache and confirm that the imagick extension is enabled in the phpinfo. It should show you the version of Imagick for the PHP extension. Again, if the Imagick on your system in your path is a version that matches what is shown for the PHP extension, then you should see the list of supported formats that it is getting from the DLLs from the version 6 Imagick on your system. You will not need to copy them to apache bin or anywhere else, nor make a MAGICK_HOME folder.

Upvotes: 1

phamuc
phamuc

Reputation: 141

Check that

MAGICK_HOME=C:\Program Files (x86)\ImageMagick-6.8.8-Q16\modules\coders

is set.

Upvotes: 2

klerigo
klerigo

Reputation: 101

I have spent several days looking for a solution, and I finally found it with Sysinternals procmon.

I found out apache was looking for dll files like IM_MOD_xxxx.dll in folders c:\windows\system and /bin. Copying the files to one of those folders did the trick to me.

Cood luck.

Upvotes: 10

Related Questions