35

我已经使用brew install imagemagick. 这一切都很好,我可以从终端/命令行运行任何 ImageMagick 命令。

现在,当我尝试在 PHP 中使用 ImageMagick 类时,出现错误Class 'Imagick' not found in ...。我猜这是因为 ImageMagick 模块没有加载。

谁能帮我让这个东西在 PHP 中工作?谢谢!

附加信息:
Mac OS X 版本: 10.8:Mountain Lion
PHP 版本:5.3.13

4

12 回答 12

45

经过大量的实验后,我才做到了这一点。目前,这似乎是 php 5.3 的方法:

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

不知道何塞·冈萨雷斯是谁,但显然我们欠他的债......

于 2013-04-17T16:00:54.440 回答
38

php72-imagick现在已弃用,因为 imagick 是 php 二进制文件本身的一部分。用于pecl安装 imagick 例如:

brew install php
brew install imagemagick
brew install pkg-config
pecl install imagick
于 2018-05-16T07:40:59.873 回答
32

你的 ImageMagick 安装是不够的。您还需要 Imagick 包(php72-imagick对于 home brew 可能称为或类似)。

Imagick 本身不做这项工作,它是一个原生 PHP 扩展,用于使用 ImageMagick API创建和修改图像。

尝试通过搜索包的确切名称brew search imagick

于 2012-08-08T14:19:35.630 回答
19

我正在使用优胜美地。对我来说,解决方案是这里已经列出的答案和评论的组合。

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
于 2014-11-30T11:08:29.557 回答
17

我遇到过同样的问题。如果您使用的是 php 5.6,这些是对我有用的步骤

  1. brew install php56-imagick
  2. brew install imagemagick
  3. find /usr/local/Cellar -name "imagick.so"
    将此命令输出的路径复制到您的 php.ini 文件中,
    例如extension=/usr/local/Cellar/php56-imagick/3.3.0_2/imagick.so 保存您的文件。现在仔细检查 imagemagick 类是否存在类型
  4. php -r "print(class_exists('imagick'));"

Brew 符号链接对我不起作用,因此我必须将完整路径名放入 php.ini 文件中才能使其正常工作。希望这可以帮助

于 2016-06-12T14:11:57.543 回答
10

这个对我有用:

brew install imagemagick       # If it's 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

这里

于 2018-05-22T09:53:53.087 回答
4

尝试:

brew install homebrew/php/php53-imagick
于 2016-02-03T17:09:31.193 回答
4

我一直在寻找在 Mojavie 上安装 imagick 的正确方法,并找到了完全有效的解决方案。

  1. 酿造安装 imagemagick@6
  2. 酿造安装 php@7.1
  3. 安装标头(Xcode-select --install)
  4. 从以下网址下载imagick源代码:https ://pecl.php.net/package/imagick
  5. 打开终端并输入解压缩的文件夹 imagick-3.4.3/imagick-3.4.3 (在我的情况下)
  6. 运行命令 phpize
  7. 。/配置
  8. 制作

现在,如果出现类似 MagicWand not found 的错误,请编辑文件 Makefile 并查找 CPPFLAGS = -I/usr/local/opt/imagemagick@6/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

于 2019-04-12T16:52:58.810 回答
2

好的,经过 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'));"
于 2018-06-08T14:25:24.967 回答
0

来自:php错误:找不到类'Imagick'

您是否添加extension=imagick.so到您的php.ini(或/etc/php.d/imagick.ini)文件中?

于 2012-08-08T13:41:14.050 回答
0

我已经安装了imagemagickphp71-imagick.

brew upgrade imagemagick- 为我做了诀窍。

您可能需要sudo

sudo brew upgrade imagemagick

您可能需要重新启动apache// php-fpm<other webserver>

于 2018-03-19T18:24:26.160 回答
0

由于声誉,我无法添加评论,但要添加到此答案:

4 月 12 日 16:52 回答

格热戈日·米希凯维奇

I was getting a missing php.h file, so as per Installing xdebug on MacOs Mojave - 'php.h' file not found I installed the necessary file via the below command:

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

于 2019-05-08T08:41:48.197 回答