如何在Windows 7(3)上安装与PHP一起使用的ImageMagick

如何在Windows 7(3)上安装与PHP一起使用的ImageMagick,php,windows,windows-7,imagemagick,imagick,Php,Windows,Windows 7,Imagemagick,Imagick,还有其他关于如何在Windows7上安装Imagick的帖子,但到目前为止没有对我的帮助。(可能问题出现在更新的版本中) 我已按照以下步骤安装: 下载并安装ImageMagick http://www.imagemagick.org/download/binaries/ImageMagick-6.8.8-1-Q16-x86-dll.exe 下载php_imagick.dll并复制到扩展目录(c:\xampp\php\ext) http://www.peewit.fr/imagick/php55/

还有其他关于如何在Windows7上安装Imagick的帖子,但到目前为止没有对我的帮助。(可能问题出现在更新的版本中)

我已按照以下步骤安装:

  • 下载并安装ImageMagick
  • http://www.imagemagick.org/download/binaries/ImageMagick-6.8.8-1-Q16-x86-dll.exe

  • 下载php_imagick.dll并复制到扩展目录(c:\xampp\php\ext)
  • http://www.peewit.fr/imagick/php55/vc11/x86/ts/php_imagick.dll

  • 编辑php.ini文件并添加新的扩展名(c:\xampp\php\php.ini)
  • extension=php_imagick.dll

  • 保存ini文件并重新启动Apache(如有必要,重新启动Windows)

  • 启动Apache并运行测试

  • 启动Apache时,会出现一个弹出框,其中显示:

    程序无法启动,因为您的计算机中缺少php5.dll。请尝试重新安装程序以解决此问题

    紧接着是另一个:

    PHP启动:无法加载动态库“C:\xampp\PHP\ext\PHP\u imagick.dll”-找不到指定的模块

    我怀疑是某种编译错误

    现在我有了PHP版本5.5.6(xampp 1.8.3)和编译器MSVC11,这与PHP_imagick.dll文件相同


    从源代码处下载ImageMagick并自己编译是否正确?(以前从未在Windows中编译过)

    我尝试从中下载ImageMagick-6.7.7-5-Q16-Windows-dll,而不是使用最新版本。实际上,它使用的是来自的php_imagick.dll(针对PHP5.5.x的imagick)


    这不是最新的版本,但它起了作用。(即使不重新启动计算机)

    以下是我为让它工作所做的 注意:真正让我绊倒的一步并没有真正解释,那就是php_imagick.dll版本应该与您安装的imagick相匹配

    好的,我采取的步骤是 从下载php imagick dll (我使用了php_imagick-3.1.2-5.5-ts-vc11-x86.zip)

    zip文件将包含许多DLL请记住这一点,我们将来可能需要它。 将php_imagick.dll解压缩到扩展文件夹

    把它放在分机文件夹里

    在php.ini中添加 extension=php_imagick.dll

    现在的问题是,我们需要找出编译php_imagick.dll的imagick版本 打开命令提示符并键入php-e-v 我这样做的方式是使用您先前下载的zip,将其他DLL解压缩到您的php文件夹中。可能会弹出一条错误消息,说明缺少DLL的情况。因此,将DLL从之前的zip文件夹提取到PHP文件夹中。 再次尝试运行php-e-v,它应该可以正常工作,没有错误消息。 如果是这样的话 重新启动apache。现在看phpinfo()并转到imagick部分。它会说ImageMagick版本:我的说是ImageMagick 6.8.6-8,这是他们网站上的旧版本。问题是ImageMagick支持的格式数:可能会为零

    转到并下载匹配的版本并安装(安装时,请确保选中“添加到路径变量”复选框)

    完成安装后,停止apache。从前面放入的php文件夹中删除DLL,然后再次启动apache。检查
    重新启动apache,它应该可以正常工作。

    应该使用的ImageMagic发行版就在这里。ImageMagic二进制文件需要使用与PHP扩展相同的CRT构建。

    在尝试了internet上发布的几乎所有可能的解决方案后,我终于找到了适合我的解决方案:

    环境:

    OS: Windows Server 2008 R2 (64bit)
    
    IIS: 7.5
    
    PHP: 5.5.11 (x86)
    
    PHP.ini: VC11, x86
    
    并安装ImageMagick

    ImageMagick-6.8.9-1-Q16-x86-dll.exe
    
    来自Anatol建议来源的相应.zip(Anatol可敬!)

    提取到临时文件夹,并将Imagemagick安装中“bin”文件夹的内容复制到
    (c:\Imagemagick)
    (在我的情况下,覆盖文件)

    下载
    .dll
    并将其放入php扩展文件夹中 (我用了这个)

    Imagick for PHP 5.5.x非线程安全版本:

    使用以下命令将扩展添加到php.ini:

    extension=php_imagick.dll
    
    保存php.ini并重新启动IIS

    最后,图像Magick信息显示在phpinfo()中;打电话

    要想解决这个问题,需要从3个不同的位置下载文件,这是难以置信的

    希望有帮助。

    更新日期:2017年8月21日 我使用PHP7和IIS使用ImageMagick(Apache非常类似): Imagick版本。3.4.3

    PHP 7 nts x86、Windows Server 2012 x64、IIS 8.5

    1) 安装VC++2015

    2) 仅从中获取php\u imagick.dll

    3) 将其放入php/ext/文件夹,并将
    extension=php\u imagick.dll
    添加到
    php.ini

    注意 支持PHP>=5.4.0和ImageMagick>=6.5.3-10的最低版本

    目前不支持ImageMagick 7。

    看看phpinfo:

    您必须安装ImageMagick 6.9.3-7 Q16 x86 4) 安装
    ImageMagick 6.9.3-7 Q16 x86 dll
    从…起 不要取消选中“将变量添加到路径”

    5) 重新启动服务器


    仅此而已

    它通过以下步骤工作

    php 5.5 32位ts
    +
    apache 2.4
    +
    windows 10 64位
    +
    Imagick 6.9.3-5
    +
    php\u Imagick.dll ts

    检查您的系统位的位

    从中选择一个
    php\u imagick.dll
    版本

    .zip
    文件中查找
    php\u imagick.dll

    如果你不知道如何选择

    在命令行窗口键入
    php-v
    获取php版本

    运行以下代码显示您安装了哪种类型的php,
    线程安全的
    非线程安全的
    。然后单击将帮助您

    在windows上:
    php-i |查找“线程”

    在Linux上:
    php-i|grep线程

    或者您可以运行函数
    phpinfo()
    并在网页上搜索
    “线程”

    您将看到
    线程安全已启用
    线程安全
    
    extension=php_imagick.dll