ImageMagick - PECL问题 - 无法找到头文件MagickWand.h

15

在安装ImageMagick PECL时出现以下错误:

检查ImageMagick MagickWand API配置程序... 在 /usr/local/bin/MagickWand-config 找到 检查ImageMagick版本是否至少为 6.2.4... 找到版本6.8.6 Q16 检查MagickWand.h 头文件... 配置:错误:无法找到头文件MagickWand.h 错误:`/root/tmp/pear/imagick/configure --with-imagick' 失败,扩展 imagick.so 安装在 /usr/local/lib/php.ini /usr/local/bin/php 没有php.ini 清理 /usr/local/cpanel/3rdparty/php/53/etc/php.ini... 未做更改

有任何解决方法吗?

5个回答

22

这个帖子比较旧了,但是我今天在Centos 7上通过安装ImageMagick-devel包解决了这个问题:

yum install ImageMagick-devel

希望这可以帮到您。


1
这似乎在C8上也可以正常工作,使用dnf -y install IMageMagick-devel。谢谢分享。 - edwardsmarkf

19

步骤:

  1. 使用apt-get安装libmagickwand-dev
  2. 使用/opt/lampp/bin/pecl安装imagick
  3. 使用gedit编辑/opt/lampp/etc/php.ini文件
  4. 在php.ini中添加"extension=imagick.so"

4

很可能它正在寻找MagickWand.h文件,但在定义的位置上无法看到该文件。请尝试以下步骤

wget http://pecl.php.net/get/imagick-3.1.0RC2.tgz
tar zxf imagick-3.1.0RC2.tgz

请编辑文件 imagick-3.1.0RC2/config.m4 的第55行。

将其更改为以下内容:

if test -r $WAND_DIR/include/ImageMagick/wand/MagickWand.h;

to

if test -r $WAND_DIR/include/ImageMagick-6/wand/MagickWand.h;

请注意imagick版本号的差异。之后尝试常规安装程序。
cd imagick-3.1.0RC2
phpize
./configure
make
make install

4
您可以使用yum轻松安装imagick。尝试输入“yum install ImageMagick ImageMagick-devel”。 - Leo Prince
嗨Leo,我在执行./configure后遇到了这个错误:“检查ImageMagick MagickWand API配置程序... configure: error: not found。请提供MagickWand-config或Wand-config程序的路径。”有什么想法吗? - Pascal Messana
是的,我编辑了config.m4文件的第55行:“if test -r $WAND_DIR/include/ImageMagick-6/wand/MagickWand.h; then”。 我使用Mamp在Mac Lion上。 - Pascal Messana
谢谢!我已经按照Mac OS X上的指南进行了操作,它可以正常工作,我可以看到向导图像(“display logo.gif”)。但是我无法在MAMP中使其工作,我的php错误日志中出现了以下错误:“[02-Aug-2013 07:51:11] PHP Warning: PHP Startup: Unable to load dynamic library '/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/imagick.so' - dlopen(/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/imagick.so, 9): image not found in Unknown on line 0”。有什么想法吗? - Pascal Messana
找不到合适的图像,找到了//imagick.so未知文件类型。这些错误意味着php检测到imagick模块但使用的架构不同。尝试切换您的Mac Lion测试机架构。这个链接将帮助您完成这个过程。否则,您需要将扩展目录中的imagick.so替换为正确架构的文件。你可以在两种架构下获得imagick.so模块。你需要谷歌一下来获得它 :) - Leo Prince
显示剩余10条评论

2
也许这个链接可以帮助其他人:http://thomas.bindzus.me/2013/08/11/building-pecl-imagick-for-php-5-5-1-on-centos-6-4/
Leo Prince提供的解决方案对我几乎奏效了,只需要设置PKG_CONFIG_PATH,也许这只是我的服务器设置不够完美的原因。
以下是我逐步执行的操作(我运行的是CentOS 6.4、Apache 2.4.6和PHP 5.5.1):
wget http://pecl.php.net/get/imagick-3.1.0RC2.tgz
tar zxf imagick-3.1.0RC2.tgz
cd imagick-3.1.0RC
phpize
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure –with-imagick
make
make install
echo extension=imagick.so > /etc/php.d/imagick.ini
service httpd restart
php -m | grep imagick

有时候需要导出环境变量,如果它没有包含在默认系统路径中的话。 :) - Leo Prince
我不得不为我的cpanel安装更改某些东西,但大部分都可以正常工作。谢谢。 - HungryCoder
1
我得到了以下错误信息:checking build system type... Invalid configuration –with-imagick': machine –with' not recognizedconfigure: error: /bin/sh ./config.sub –with-imagick failed"`。同时我的"/usr/local/lib/"文件夹是空的。 - Parapluie

-1

首先运行以下命令

1. "WHM Home » Software » Rebuild RPM Database"

2. yum install ImageMagick ImageMagick-devel

3. yum install pcre-devel

然后前往

Go to WHM -> Software -> Module Installers -> PHP Pecl (manage). On the 
box below “Install a PHP Pecl” enter “imagick” and click “Install Now” 
button – that’s all.  Restart Apache.

以上步骤对我起作用了。

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