33

Today I have tried to install imagick in my xampp a hundred times. And I did it. If you have troubles, please try following these steps:

  1. Since xampp is x86, check if your Image Magick (the program) is x86. If not, download the latest version here: imagemagick.org/script/binary-releases.php#windows Please remember that u MUST download the Win32 dynamic at 16 bits-per-pixel.
  2. Install Image Magick at C:\imagemagick.
  3. Download the latest stable version of imagick here: . You MUST download the 5.x Thread Safe (TS) x86. The x in 5.x is the version of your PHP.
  4. Put the php_imagick.dll in php/ext folder of your xampp installation.
  5. Add this in your php.ini: extension=php_imagick.dll
  6. Here is when I have a lot of trouble. If you try to start the server (or writing php in the console (start->cmd)), you will get an error. If that error says something like this: Unable to find the entry point for the procedure FlattenImages in the DLL CORE_RL_magick.dll it means that you're well underway.
  7. Now, you must go into the installation folder of Image Magick and overwrite the DLL you downloaded with the php_imagick.dll. All of them start with the prefix CORE_RL_.
  8. Once you overwrote all of them, you can try writing php in the windows console. I don't say something means that the imagick is functional (you can check in localhost/xampp/ > phpinfo() link. Personally, I had to install a new DLL: vcomp110.dll. If someone has the same error as me (the system can't found the vcomp11.dd) download it here

Now, if you try executing php on console, or just initializing the apache module of xampp, you should not have errors.

Goodbye and hope I can help someone.

EDIT: when tried to convert some-img.bmp some-result.jpg in the console, I had this error: convert.exe: unable to open module file 'C:\Users\my-acc\.magick\IM_MOD_RL_BMP_.dll': No such file or directory @ ... This happened when there is no folder .magick in my-acc. The thing you need to do is this:

  1. Create a folder named .magick in the my-acc folder. Since the name starts with a stop, you need to create it through the console. Here are the commands:

    1.1. c:

    1.2. cd Users\my-acc

    1.3. mkdir .magick

  2. Go to C:\imagemagick\modules\coders and copy the entire files into the latest folder created.

Now, you will be able to use Image Magick through the commands or the PHP Classes.

On background, if you use Codeigniter, i have no idea how to use the image_lib with imagick. So, it's better with the own imagick classes. Here a simple example:

$image = new Imagick($upload_data['full_path']);
$image->thumbnailImage(250,0);
if($image->writeImage($upload_data['file_path'].$upload_data['raw_name'].'_thumb'.$upload_data['file_ext'])){
    something here;
}
$image->clear();
Luciano Graziani
  • 521
  • 1
  • 8
  • 19
  • 3
    Actually. I just instaled imagick od xampp with no trouble at all. A was using tutorial on http://ourcodeworld.com/articles/read/349/how-to-install-and-enable-the-imagick-extension-in-xampp-for-windows and it's really efective method :) No point in coying all stepd here, just take a look at a link above. – tomekK Jun 02 '17 at 10:47

4 Answers4

5

This answer might be extremely naive, but, I've found that getting things done in Windows is generally too painful. Many people agree with that and have found solace in a tool known as "chocolatey".

First, install chocolatey on your Windows machine (super easy install instructions):

https://chocolatey.org/

Then, use chocolatey to install everything else that you need (imagemagick in this case):

https://chocolatey.org/packages/imagemagick

I suspect you might have to do some minor tweaking to configuration files after that, plus handle all of the "Windows permissions" needed to get things to work smoothly. Permissions are can be as simple (and not necessarily safe) as "full control" to some user, plus activating inheritance and overwriting all children's settings to use inheritance.

In short, install, configure, permissions, go.

PS. This answer might be incomplete/prototypical/experimental, since I don't run codeigniter, php, imagemagick on Windows.

starlocke
  • 3,407
  • 2
  • 25
  • 38
0

This how-to of Winderfind is wonderful, but for me it was not yet complete to troubleshoot all problems. First of all, have a look at this tutorial: http://hrt0kmt.hatenablog.com/entry/2015/05/27/170608

Secondly I discovered that not all versions of ImageMagick will work with all versions of php_imagick.dll. Check out my and others answers on this post for further troubleshooting: ImageMagick supported formats no value

Community
  • 1
  • 1
Jorr.it
  • 1,222
  • 1
  • 14
  • 25
0

Great tutorial,

If you are running windows 11, and installing xampp with php 8.1, you need to install 64bit versions:

Win32 dynamic at 16 bits-per-pixel

Becomes

Win64 dynamic at 16 bits-per-pixel

And

5.x Thread Safe (TS) x86

Becomes

8.1 Thread Safe (TS) x64

If you've installed the 32bit versions (as I did), you can just download the 64bit versions and overwrite all the files. Then restart apache and it should start working.

Snowblind
  • 51
  • 1
  • 1
0

If you use PHP 8.2. There is no official build so far. I didn't get it working with my installation using PHP 8.2.

I've found this thread helpfull:

https://github.com/Imagick/imagick/issues/573#issuecomment-1431773928

I copied all DLLs to the apache/bin directory and php_imagick.dll to the php/ext directory. After restarting XAMPP it worked again.

Cheers

kirschkern
  • 1,197
  • 10
  • 27