Неустранимая ошибка: класс 'imagick' не найден

14

Я пытаюсь установить расширение imagemagic php под WampServer 2.

  • Я загрузил и установил ImageMagick. Я выбрал ImageMagick-6.8.8-10-Q16-x86-dll.exe

  • Я загрузил расширение php.

  • Я переместил расширение dll, которое я только что загрузил в C:\wamp\bin\php\php5.4.16\ext\

  • Я изменил php.ini(обратился к нему через значок вашего лоткa > щелкните правой кнопкой мыши > PHP > php.ini) и добавил "extension = php_imagick.dll" без кавычек в списки расширений.

  • Я перезапустил Apache. Не замечая расширение, отображаемое в списке расширений PHP из значка в трее, я перезапустил wampserver. Расширения ImageMagick теперь отображаются в списке.

Однако я не могу его использовать. Выполнение быстрого теста возвращает "Неустранимая ошибка: класс" Imagick "не найден". В phpinfo() показано только, что imagemagick был добавлен к переменным env.

когда я пытаюсь проверить изображение:

$im = new imagick( 'test.jpg' );
// resize by 200 width and keep the ratio
$im->thumbnailImage( 200, 0);
 // write to disk
$im->writeImage( 'test_thumbnail.jpg' );

Я получаю ошибку: Fatal error: Class 'imagick' not found Что я делаю не так? Я работаю с win7 32 бит, phph 5-4-16 и apache2

  • 6
    Вы предоставили полный урок здесь, спасибо, чувак, ваш вопрос на самом деле является ответом для большинства из нас!
  • 0
    подскажите пожалуйста как и где вы скачали ImageMagick?
Показать ещё 2 комментария
Теги:
imagemagick

5 ответов

1
Лучший ответ

Единственный способ, с помощью которого я работаю, - использовать более старую версию imagick: php_imagick-3.2.0b1-5.4-nts-vc9-x86.

  • 0
    Как это использовать??
  • 1
    Я не уверен насчет версии, которую я использовал, но попробуйте по этой ссылке: http://www.peewit.fr/imagick/ и установите соответствующий zip-файл, внутри zip-файла вы найдете файл .dll, в который вы должны его распаковать (в моем примере): `C: \ wamp \ bin \ php \ php5.4.16 \ ext` и продолжайте выполнять шаги, которые я написал в основном вопросе. Если у вас все еще есть ошибка, я могу отправить вам файл imagick.dll.
Показать ещё 3 комментария
8
  • Попробуйте: php -m | grep imagick.
  • Если результат пуст, выполните: sudo apt-get remove --purge php5-imagick && sudo apt-get install php5-imagick

Привет

  • 10
    OP находится в Windows, о чем свидетельствует множество ссылок на конкретные вопросы Windows в его вопросе (WAMP, пути в стиле Windows, файлы .dll, файл .exe и т. Д.).
0
apt-get install pkg-config libmagickwand-dev -y
cd /tmp
wget https://pecl.php.net/get/imagick-3.4.0.tgz
tar xvzf imagick-3.4.0.tgz
cd imagick-3.4.0
phpize
./configure
make install
rm -rf /tmp/imagick-3.4.0*
echo extension=imagick.so >> /etc/php/7.0/cli/php.ini
echo extension=imagick.so >> /etc/php/7.0/fpm/php.ini
service php7.0-fpm restart
service nginx restart

from Установить Imagick 3.4.0 на PHP 7

0

сделать a <?php phpinfo(); ?> на любой странице. Это покажет все службы, запущенные в службе. Если он запущен, он покажет вам, в какой директории.

Если вы используете панель WHM, вам, возможно, придется установить imageMagick там

-2

Вы пытались использовать подходящий корпус для класса, начиная с капитала "i"?

$im = new Imagick( 'test.jpg' );

В именах php, классов и файлов, а не с учетом регистра, но загрузчики классов.

  • 0
    Я пробовал как с заглавной, так и с не заглавной буквой, но это не работает, единственный способ заставить его работать - использовать старую версию imagick
  • 0
    @GhadaSalem, вы должны опубликовать это как ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню