ImageMagick - проблема с PECL - не удается найти файл заголовка MagickWand.h

Мы получаем эту ошибку при установке ImageMagick PECL:

проверка программы конфигурации ImageMagick MagickWand API ... находится в / usr / local / bin / MagickWand-config проверка, соответствует ли версия ImageMagick как минимум 6.2.4 ... обнаружена версия 6.8.6 Q16 проверка заголовочного файла MagickWand.h ... configure: error: не удается найти файл заголовка MagickWand.h ОШИБКА: `/ root / tmp / pear / imagick / configure --with-imagick 'не удалось установить расширение imagick.so в /usr/local/lib/php.ini / usr / local / bin / php не содержит файла php.ini Tidying /usr/local/cpanel/3rdparty/php/53/etc/php.ini ... Без изменений

Есть идеи, как это исправить?


person capte    schedule 24.07.2013    source источник


Ответы (5)


Эта ветка устарела, но сегодня я решил эту проблему на Centos 7, установив пакет ImageMagick-devel:

yum install ImageMagick-devel

Надеюсь это поможет.

person e-Jim    schedule 17.02.2017
comment
похоже, это также нормально работает на C8 с использованием dnf -y install IMageMagick-devel. Спасибо, что поделился. - person edwardsmarkf; 08.09.2020

Шаги:

  1. apt-get установить libmagickwand-dev
  2. / opt / lampp / bin / pecl установить Imagick
  3. gedit /opt/lampp/etc/php.ini
  4. добавить extension = imagick.so в php.ini
person H Arif    schedule 16.08.2017

Вероятно, он ищет файл 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
person Leo Prince    schedule 25.07.2013
comment
Вы можете легко установить Imagick с помощью yum. попробуйте yum install ImageMagick ImageMagick-devel - person Leo Prince; 25.07.2013
comment
Привет, Лео, я получаю эту ошибку после ./configure: проверка программы конфигурации ImageMagick MagickWand API ... configure: error: not found. Укажите путь к программе MagickWand-config или Wand-config. Любая идея ? - person Pascal Messana; 31.07.2013
comment
Возникает ли у вас эта ошибка после указанной ошибки configure: error: не удается найти файл заголовка MagickWand.h. Если да, то вы пробовали шаги, которые я дал выше. - person Leo Prince; 01.08.2013
comment
Да, я редактировал файл config.m4 в строке 55: if test -r $ WAND_DIR / include / ImageMagick-6 / wand / MagickWand.h; тогда. Я использую Mac Lion с Mamp. - person Pascal Messana; 01.08.2013
comment
Вот довольно хороший способ для Mamp Выполните шаги и попробуйте завершить установку . Всего наилучшего :) - person Leo Prince; 01.08.2013
comment
Спасибо ! Я следил за руководством по Mac OS X, и он работает, я вижу изображение мастера (display logo.gif). Однако я не могу заставить его работать в MAMP, у меня есть эта ошибка в моем журнале ошибок php: [02-Aug-2013 07:51:11] Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/ 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): изображение не найдено в Unknown в строке 0. Любая идея ? - person Pascal Messana; 02.08.2013
comment
Это означает, что модуль imagick.so не загружается вашим php. какая у вас версия php? Поместите phpinfo в корневой каталог своего веб-сайта и проверьте загруженную конфигурацию и убедитесь, что в нем есть запись вида extension = imagick.so. Также найдите каталог расширений (из phpinfo) и проверьте, размещен ли там imagick.so. Были ли у вас какие-либо проблемы во время установки? - person Leo Prince; 02.08.2013
comment
В моем php.ini есть extension = imagick.so, но в моем каталоге расширений нет файла imagick.so (extension_dir в php info). Нужно ли мне его скачать и вставить сюда? Я пробовал найти imagick.so в своем Терминале, но ничего не нашел. Во время последней установки у меня не было никаких проблем. Спасибо за вашу помощь ! - person Pascal Messana; 02.08.2013
comment
Таким образом, очевидно, что php понимает, что imagick был установлен на сервере с помощью строки extension = imagick.so, но не может найти файл расширения в extension_dir, поэтому это вызывает ошибку php. Попробуйте загрузить imagick.so с помощью команды wget в каталог extension_dir сервера и укажите разрешение exec с использованием chmod + x imagick.so. дайте мне знать, помогло ли это вам. Если нет, вам нужно загрузить файл imagick.so для точной версии, которую вы установили на сервере, в extension_dir с разрешением exec. :) - person Leo Prince; 04.08.2013
comment
Исправлена ​​проблема с Hi Pascal? - person Leo Prince; 09.08.2013
comment
Привет, Лео, спасибо за продолжение и извиняюсь за поздний ответ. Это не сработало, и мне пришлось продолжать работу, поэтому вместо этого я использовал GD, но Imagick упростил мой код. Я сделал то, что вы сказали, и поместил imagick.so в папку extension_dir, и вот ошибка в php_error.log при запуске: - person Pascal Messana; 09.08.2013
comment
[09 августа 2013 г. 08:21:51] Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку '/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): нет найдено подходящее изображение. Нашел: /Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/imagick.so: неизвестный тип файла, первые восемь байтов: 0x7F 0x45 0x4C 0x46 0x01 0x01 0x01 0x00 в Неизвестном в строке 0. Спасибо еще раз - person Pascal Messana; 09.08.2013
comment
Is Imagick отображается в phpinfo (). Или попробуйте php -m | grep magick из командной строки. - person Leo Prince; 09.08.2013
comment
›Не найдено подходящего изображения,› удалось найти: //imagick.so неизвестный тип файла. Эти ошибки означают, что php обнаруживает модуль imagickmodule, но архитектура, которую вы использовали, отличается. Попробуйте переключить архитектуру тестовых машин Mac Lion. Эта ссылка поможет вам в этом. В противном случае вам нужно было бы заменить файл imagick.so в каталоге расширений на правильную архитектуру. Вы получите модуль imagick.so в обоих архивах. Вам нужно было погуглить, чтобы получить. :) - person Leo Prince; 09.08.2013
comment
Я попытался переключиться на 32 бита, но мой Mac завис. Мне нужно найти imagick.so для Mac 64 бит. Я обновлю этот пост, если найду его. Спасибо. - person Pascal Messana; 12.08.2013

Возможно, это http://thomas.bindzus.me/2013/08/11/building-pecl-imagick-for-php-5-5-1-on-centos-6-4/ может быть одних помогает другим.

Решение, описанное Лео Принсом, почти сработало для меня, просто нужно было установить 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
person Thomas Bindzus    schedule 10.08.2013
comment
Да, иногда требуется экспорт переменной окружения, если она не включена в системные пути по умолчанию. :) - person Leo Prince; 11.08.2013
comment
Мне пришлось изменить некоторые вещи для моей установки cpanel, но в основном это сработало. Спасибо - person HungryCoder; 25.08.2016
comment
@Thomas Binduz Я проверяю тип системы сборки ... Неверная конфигурация –with-imagick': machine –with' not recognized и configure: error: /bin/sh ./config.sub –with-imagick failed". Мой / usr / local / lib / пуст. - person Parapluie; 19.06.2017

Сначала выполните следующие команды

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.

Вышеупомянутые шаги сработали для меня.

person Lakin Mohapatra    schedule 07.03.2018