在 CentOS 6.3 64 位上安装 Imagick PHP 扩展?

在 CentOS 6.3 64 位上安装 Imagick PHP 扩展?

我正在尝试配置并安装 imagick 扩展,下面是我使用的命令

wget http://pecl.php.net/get/imagick-3.0.1.tgz
tar zxf imagick-3.0.1.tgz
cd imagick-3.0.1
phpize
./configure

但发生了此错误:

checking for MagickWand.h header file... configure: error: Cannot locate header file MagickWand.h

我在这个位置找到了 MagickWand.h

/local/include/ImageMagick-6/wand

这是我的 ImageMagic 版本

Version: ImageMagick 6.8.3-7 2013-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2013 ImageMagick Studio LLC
Features: DPC OpenMP Modules
Delegates: bzlib djvu fontconfig freetype gslib jng jp2 jpeg lcms openexr pango png ps rsvg tiff wmf x xml zlib

配置中是否有任何选项可以帮助我找到该头文件?

我安装的版本正确吗?因为我的 php 是 5.3,ImageMagick 是 6.8.3-7,正在尝试安装 imagick-3.0.1!?

提前致谢

答案1

您可以使用 pkg-config 来定位头文件 MagickWand.h 假设您在 /usr/local/ImageMagick-6.8.4 和 imagick-3.0.1 中安装了 ImageMagick

cd imagick-3.0.1
export PKG_CONFIG_PATH=/usr/local/ImageMagick-6.8.4/lib/pkgconfig
phpize
./configure --with-php-config=/usr/local/php5/bin/php-config \
--with-imagick=/usr/local/ImageMagick-6.8.4/
make
make install

答案2

我建议你放弃自定义编译的 PHP,并切换到 宫内节育器。具体来说,您需要在配置 IUS repo 后安装以下软件包:

php53u php53u-pecl-imagick

这可能会让事情变得容易得多,因为您不必再​​担心编译这个模块了。

答案3

您需要告诉 imagick 头文件位于何处。

./configure --with-imagick=/local

使用帮助开关列出其他配置选项。

./configure --help

[编辑] 确认本地安装

配置脚本将查找MagickWand-config和/或Wand-config可执行文件以确定包含头文件的位置。通过检查可执行文件是否存在来选择 MagickWand-config $PHP_MAGICK/bin/MagickWand-config;其中,$PHP_MAGICK--with-imagick=PATH是由、 或/usr/local或提供的路径/usr

这是一个快速脚本,用于验证您本地的 IM 安装是否可以被 PHP Imagick 扩展使用。

#!/bin/bash
IM_CONFIG=`which MagickWand-config`
# Or use different IM location by setting previous line with absolute 
# path to executable config (ie. IM_CONFIG=/local/bin/MagickWand-config)

IM_PREFIX=`$IM_CONFIG --prefix`
if test -r $IM_PREFIX/include/wand/magick-wand.h ; then
  echo "Local IM install has development headers"
else
  echo "Local IM install is missing development headers"
  echo "Try reinstalling source, or 'yum install ImageMagick-devel' package"
fi

答案4

我知道这个问题很老了,但我必须做出我的贡献。

如果运行 php 5.4,只需运行这两行代码:

pear config-set preferred_state beta
pecl install imagick

相关内容