如何在Windows的xampp/wampp中安装imagick

33

今天我试图在xampp中安装imagick一百次,最后成功了。如果您遇到问题,请尝试按照以下步骤操作:

  1. 由于xampp是x86架构,因此请检查您的Image Magick(程序)是否为x86。如果不是,请从此处下载最新版本:imagemagick.org/script/binary-releases.php#windows请记住,您必须下载Win32 dynamic at 16 bits-per-pixel
  2. 将Image Magick安装在C:\ imagemagick下。
  3. 在这里下载imagick的最新稳定版本。您必须下载5.x Thread Safe (TS) x86。其中的x是您的PHP版本。
  4. php_imagick.dll放入xampp安装的php/ext文件夹中。
  5. 将以下内容添加到php.ini文件中:extension=php_imagick.dll
  6. 现在,如果您尝试启动服务器(或在控制台中输入php(开始-> cmd)),则会收到错误消息。如果该错误消息类似于此:Unable to find the entry point for the procedure FlattenImages in the DLL CORE_RL_magick.dll,则表示您已经完成了大部分操作。
  7. 现在,您必须进入Image Magick的安装文件夹,用php_imagick.dll覆盖您下载的所有DLL。它们都以前缀CORE_RL_开头。
  8. 覆盖完所有DLL后,您可以尝试在windows控制台中输入php。我没有说些什么,这意味着imagick可用(您可以在localhost/xampp/ > phpinfo() link中检查)。就我个人而言,我不得不安装一个新的DLL:vcomp110.dll。如果有人遇到与我相同的错误(系统找不到vcomp11.dd请到此处下载

现在,如果您尝试在控制台中执行php或仅初始化xampp的apache模块,则不应出现错误。

再见,希望我能帮助到某个人。

编辑:当我在控制台中尝试convert some-img.bmp some-result.jpg时,我遇到了以下错误:convert.exe: unable to open module file 'C:\Users\my-acc\.magick\IM_MOD_RL_BMP_.dll': No such file or directory @ ...这是因为my-acc中没有.magick文件夹。您需要执行以下操作:

  1. my-acc文件夹中创建一个名为.magick的文件夹。由于名称以点开头,因此您需要通过控制台创建它。以下是命令:

    1.1. c:

    1.2. cd Users\my-acc

    1.3. mkdir .magick

  2. 进入C:\imagemagick\modules\coders并将整个文件复制到最新创建的文件夹中。

现在,您将能够通过命令或PHP类使用Image Magick。

如果您使用Codeigniter,则我不知道如何在imagick中使用image_lib

$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();

3
实际上,我刚刚在xampp上安装了imagick而没有遇到任何问题。 我使用了http://ourcodeworld.com/articles/read/349/how-to-install-and-enable-the-imagick-extension-in-xampp-for-windows上的教程,这是一种非常有效的方法 :) 没有必要在这里复制所有步骤,只需查看上面的链接即可。 - tomekK
4个回答

5
这个答案可能非常幼稚,但我发现在Windows上完成任务通常太痛苦了。许多人都同意这一点,并在一个名为“chocolatey”的工具中找到了安慰。
首先,在您的Windows机器上安装chocolatey(超级简单的安装说明):

https://chocolatey.org/

然后,使用 Chocolatey 安装其他所需的东西(在这种情况下是 ImageMagick):

https://chocolatey.org/packages/imagemagick

我猜想你可能需要在此之后对配置文件进行一些微调,并处理所有需要的"Windows权限",以使事情能够顺利运行。权限可以简单(但不一定安全)地为某个用户提供"完全控制",并激活继承并覆盖所有子项设置以使用继承。
简而言之,安装、配置、权限、启动。
附注:由于我没有在Windows上运行CodeIgniter、PHP、ImageMagick,因此这个答案可能是不完整的/原型的/实验性的。

0

非常好的教程,

如果您正在运行Windows 11,并使用PHP 8.1安装xampp,则需要安装64位版本:

Win32动态16位每像素

变成

Win64动态16位每像素

5.x线程安全(TS)x86

变成

8.1线程安全(TS)x64

如果您已经安装了32位版本(就像我一样),则可以下载64位版本并覆盖所有文件。然后重新启动Apache,它应该开始工作。


0

0
如果您使用的是PHP 8.2,目前还没有官方版本可用。我在安装PHP 8.2时无法使其正常工作。
我发现这个帖子很有帮助:

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

我将所有的DLL文件复制到了apache/bin目录下,将php_imagick.dll文件复制到了php/ext目录下。重启XAMPP后它又可以正常工作了。

祝好!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接