个性化阅读
专注于IT技术分析

如何在XAMPP Windows中安装和启用Imagick扩展

本文概述

Imagick是本机PHP扩展, 用于使用ImageMagick API创建和修改图像。这个名称引起了一些混乱, 因为人们认为ImageMagick和Imagick是同一件事, 但事实并非如此。你可以在不使用Imagick的情况下使用ImageMagick, 但是需要同时安装Imagick和ImageMagick才能在PHP代码中运行它。

你可以使用PHP代码检查是否安装了Imagick扩展, 或者不使用:

<?php 

if (!extension_loaded('imagick')){
    echo 'imagick not installed';
}

或者只是实现Imagick的代码中的错误会告诉你…:

试图从全局名称空间中加载类” Imagick”。你是否忘记了”使用”声明?

找不到类别” Imagick”

在Windows XAMPP中, Imagick不是内置的, 因此由你决定其安装和实现。如果你以前已经搜索过如何在XAMPP中安装Imagick使其工作, 而你却做不到, 那你可能已经超出范围, 并且想自杀。

幸运的是, 在本文中, 你将找到Windows中Imagick for XAMPP的确定安装。

安装前注意事项

我们需要提到的是, Imagick的安装并不容易(可能会造成一些混乱), 如果你不认真地一步一步地进行操作, 则可能会在安装过程中出错。此外, 你需要了解有关PHP发行版的以下信息:

注意:根据你使用的XAMPP的版本, 这些值可能会有所不同。

名称 默认值
架构 x86 (XAMPP Default)
线程安全 启用TS:代表线程安全启用NTS:代表线程安全
编译器 MSVC11(Visual C ++ 2012)一些Imagick版本使用其他版本进行编译, 例如VC9, VC11(在这种情况下), VC14

你可以使用PHP的phpinfo()函数在一个空脚本中执行此函数来获取这些值:

<?php

phpinfo();

一旦知道了值, 这些值将通过以下所有步骤指导文件, 以供你下载所需的体系结构。

注意:不要忘记也不用管理员权限执行所有设置。

1.下载并安装Windows版ImageMagick

在浏览器中导航到Imagick网站的”下载”区域, 然后滚动到Windows区域。 ImageMagick几乎可以在Windows的每个版本中运行(从Windows Server 2009, XP到Windows 10), 现在从该列表中下载具有X86架构和DLL版本的最新可用版本非常重要, 因为这就是XAMPP使用的架构(通常, 如果没有, 则为请参考PHPINFO并下载正确的版本, 例如ImageMagick- <版本> -Q16-x86-dll.exe):

下载Imagick安装程序Windows

下载可执行文件, 然后等待。到目前为止, 我们不需要为PHP进行任何配置, 只需继续安装Windows版Imagick, 别忘了选中将Imagick添加到PATH的选项:

在Windows中将Imagick添加到PATH

设置完成后, 你可以在新的命令提示符下测试Imagick的执行情况(应在控制台中打印版本):

magick -version

2.下载Imagick for PHP

现在, 在此处浏览PECL网站上的Imagick软件包, 并从最新的可用版本中选择DLL版本(如果你下载了ImageMagick的旧版本, 然后下载接受你版本的版本):

Imagick PECL软件包设置

然后将加载一个新窗口, 在此页面中滚动到DLL列表, 然后单击具有正确体系结构(XAMPP不是你的操作系统)和Thread Safe(如果在你的发行版中启用)的正确版本的PHP版本(请参阅phpinfo了解你的php发行版是否使用Thread Safe):

PHP Imagick DLL版本

这将开始下载zip文件” php_imagick- <版本>-<线程安全或非>-<php-compiled-version>-<体系结构> .zip”。从此.zip文件中, 你只需提取php_imagick.dll文件。复制php_imagick.dll文件并粘贴到xampp安装路径(通常为C:\ xampp \ php \ ext)内的php / ext文件夹中:

将dll复制到php的ext目录中

然后, 通过添加以下行, 继续在php.ini文件中启用扩展名:

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; Add the following line where the other extensions are loaded
extension=php_imagick.dll

现在已经加载了扩展名, 但是Imagick仍然无法使用, 因为如果你检查phpinfo文件, 它甚至都不会被识别为扩展名, 因为我们需要加载所有可以从下一步中检索到的方法和二进制文件。

3.下载所需的Imagick二进制文件

此时你可能会问自己, 真的吗? 3种不同的下载? Imagick的问题在于, 有许多来自不同来源的构建, 如果你没有下载并安装正确的构建, 则将无法正常工作或将其加载, 但是如果你在以下位置检查了Imagick扩展名(后来, 还没有) phpinfo, 你将看到:

ImageMagick支持的格式数:0

这就是为什么你需要按照上述步骤操作, 否则你将无法使Imagick正常工作。为了防止任何实现错误, 二进制文件必须来自同一源, 在本例中为Windows.php.net。要下载所需的二进制文件, 请在此处导航至PECL Deps并在列表中搜索Imagick:

ImageMagick二进制Windows XAMPP

下载与xampp架构匹配的版本, 并检查编译器版本。在这种情况下, 我们下载文件大小约为30MB的第三个选项(ImageMagick-6.9.3-7-vc11-x86.zip)。现在, 将这个zip的所有文件提取到你想要的任何位置的文件夹中, 在这种情况下, 我们将提取zip的内容到桌面的一个文件夹中。

提取文件的内容后, 打开bin文件夹并复制将大约有146个文件(带有前缀CORE_ *和IM_MOD_ *)的所有.dll文件(ImageMagickObject.dll除外), 然后将复制的文件粘贴到apache中。 / bin xampp文件夹(通常为C:\ xampp \ apache \ bin)。

现在启动apache服务(如果已经运行, 请重新启动它), 然后再次转到phpinfo。现在你应该看到imagick已作为扩展加载:

PHPINFO Imagick扩展已成功加载

经过数小时的苦难之后, 你终于可以在Windows中将Imagick与PHP一起用于XAMPP。

如果控制台错误

如果在实施后仍然每次使用PHP时(至少在控制台中)仍然收到以下消息错误:

PHP警告:PHP启动:无法加载动态库’C:\ xampp \ php \ ext \ php_imagick.dll’-找不到指定的模块。

你需要将Apache的bin目录(C:\ xampp \ apache \ bin)添加到Windows的PATH环境变量中, 此问题将得到解决。

编码愉快!

赞(3)
未经允许不得转载:srcmini » 如何在XAMPP Windows中安装和启用Imagick扩展

评论 抢沙发

评论前必须登录!