我正在尝试configuration和安装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
我在这个地方find了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
有configuration的任何选项,所以我可以find该头文件?
我安装正确的版本,因为我的PHP是5.3和ImageMagick 6.8.3-7试图安装imagick-3.0.1!
提前致谢
您可以使用pkg-config来查找头文件MagickWand.h假设您将ImageMagick安装在/usr/local/ImageMagick-6.8.4和imagick-3.0.1
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
我build议你放弃你的自定义编译的PHP并切换到由IUS提供的版本。 具体来说,在configurationIUS回购之后,您将安装以下软件包:
php53u php53u-pecl-imagick
这可能会使事情变得更加容易,因为您不必再担心编译这个模块。
你需要告诉imagick头文件的位置。
./configure --with-imagick=/local
使用帮助开关列出其他configuration选项。
./configure --help
configuration脚本将查找MagickWand-config和/或Wand-config可执行文件来确定包含标头的位置。 通过检查$PHP_MAGICK/bin/MagickWand-config -config中是否存在可执行文件来select$PHP_MAGICK/bin/MagickWand-config ; 其中$ PHP_MAGICK是--with-imagick=PATH提供的--with-imagick=PATH ,或者是/usr/local或/usr 。
这里有一个快速的脚本来validation你的本地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
我也有同样的问题。 上述方式无法复制。
我读了configuration文件,发现imagickwand.h的位置是错误的。 我通过运行以下命令来解决它:
ln -s /usr/local/ImageMagick/include/ImageMagick-6 /usr/local/ImageMagick/include/ImageMagick
我知道这个问题很老,但我必须把我的贡献。
如果运行php 5.4。 只需运行这两行代码:
pear config-set preferred_state beta pecl install imagick
启用epel存储库后,使用“yum install php-magickwand”。 在生产系统上通过源代码安装不是一个好主意,因为不支持卸载,降级,升级等。