Подтвердить что ты не робот

ImageMagick Brew установка с PHP-модулем в Mac OS X

Я установил ImageMagick с помощью brew install imagemagick. Все это отлично работало, и я могу запустить любую команду ImageMagick из командной строки Terminal/Command.

Теперь, когда я пытаюсь использовать классы ImageMagick в PHP, я получаю сообщение об ошибке Class 'Imagick' not found in .... Я думаю, это потому, что модуль ImageMagick не загружен.

Может ли кто-нибудь помочь мне заставить эту работу работать на PHP? Спасибо!

Дополнительная информация:
Mac OS X Версия: 10.8: Горный Лев
Версия PHP: 5.3.13

4b9b3361

Ответ 1

Вашей установки ImageMagick недостаточно. Вам также понадобится пакет Imagick (возможно, называемый php72-imagick или аналогичный для домашнего приготовления).

Imagick не выполняет саму работу, это собственное расширение PHP для создания и изменения изображений с помощью API ImageMagick.

Попробуйте найти точное название пакета через brew search imagick.

Ответ 2

Я просто сделал это после много экспериментов. На данный момент это, по-видимому, способ сделать это для php 5.3:

brew tap josegonzalez/php
brew tap homebrew/dupes
brew install php53-imagick

Не знаю, кто такой Хосе Гонсалес, но, видимо, мы находимся в его долге....

Ответ 3

Я использую Йосемити. Для меня решение представляет собой комбинацию ответов и комментариев, уже перечисленных здесь.

brew install imagemagick
brew install php55-imagick

Измените/etc/php.ini, чтобы включить imagick

extension=/usr/local/Cellar/php55-imagick/{version of php55-imagick}/imagick.so

Пример:

extension = /usr/local/Cellar/php55-imagick/3.1.2_1/imagick.so

Ответ 4

У меня была такая же проблема. Это шаги, которые работали для меня, если вы используете php 5.6

  • brew install php56-imagick
  • brew install imagemagick
  • find /usr/local/Cellar -name "imagick.so"
    скопируйте путь из вывода этой команды в файл php.ini
    например extension=/usr/local/Cellar/php56-imagick/3.3.0_2/imagick.so сохраните файл. Теперь, чтобы проверить, что класс imagemagick существует тип
  • php -r "print(class_exists('imagick'));"

Brew symlinking не работал у меня, поэтому мне пришлось поместить полный путь в файл php.ini, чтобы заставить его работать. Надеюсь, что это поможет

Ответ 5

php72-imagick устарела, так как imagick является частью самого бинарника php. Используйте pecl для установки imagick, например:

brew install php
brew install imagemagick
pecl install imagick

Ответ 6

этот работал для меня:

brew install imagemagick       # If it not already installed
mkdir /usr/local/lib/php/pecl  # On my system this dir didn't exist and this caused pecl install to fail
pecl install imagick

здесь

Ответ 7

Try:

brew install homebrew/php/php53-imagick

Ответ 8

Я искал правильный способ установить imagick на Mojavie и нашел решение, которое полностью работало.

  1. brew установить imagemagick @6
  2. brew install [email protected]
  3. Установить заголовки (Xcode-select --install)
  4. Загрузите исходный код imagick по адресу: https://pecl.php.net/package/imagick.
  5. Откройте терминал и войдите в распакованную папку imagick-3.4.3/imagick-3.4.3 (в моем случае)
  6. Запустите команду phpize
  7. . /configure
  8. делать

И теперь, если ошибка возникает, как MagicWand не найден, отредактируйте файл Makefile и найдите CPPFLAGS = -I/usr/local/opt/imagemagick @6/include/. Проверьте, нет ли в папке include другой папки. В моем случае это должно быть так: CPPFLAGS = -I/usr/local/opt/imagemagick @6/include/ImageMagick-6

сохранить и вернуться в терминал и набрать make (после завершения) sudo make install

imagick.so находится в imagick-3.4.3/imagick-3.4.3/modules

Ответ 9

Хорошо, через 1 час, я понял это. Mac не дает разрешениям pecl-скрипта создавать каталог PHP. Для разрешения сделайте следующее.

brew install imagemagick
Sudo pecl install imagick .  
php --ini | grep "Loaded Configuration File"
Add extension=imagick.so under extensions.

Установка будет завершена. Затем для пробного запуска:

php -r "print(class_exists('imagick'));"

Ответ 11

У меня была такая же ошибка, уже установлен imagemagick и php71-imagick.

brew upgrade imagemagick - сделал свое дело для меня.

Вам может понадобиться sudo:

sudo brew upgrade imagemagick

Вам может потребоваться перезапустить apache/php-fpm/<other webserver>.

Ответ 12

Я не могу добавлять комментарии из-за репутации, но чтобы добавить к этому ответу:

ответил 12 Апр в 16:52

Гжегож Мицкевич

Я получил недостающий файл php.h, поэтому в соответствии с установкой xdebug на MacOs Mojave - файл 'php.h' не найден, я установил необходимый файл с помощью следующей команды:

установщик sudo -pkg/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target/