在Mac OS X中使用PHP模块安装ImageMagick Brew

时间:2012-08-08 13:28:02

标签: php macos imagemagick imagick

我使用brew install imagemagick安装了ImageMagick。这一切都运行正常,我可以从终端/命令行运行任何ImageMagick命令。

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

有人可以帮我把这个东西用PHP工作吗?谢谢!

其他信息:
Mac OS X版本: 10.8:Mountain Lion
PHP版:5.3.13

12 个答案:

答案 0 :(得分:45)

经过大量的实验后,我才这样做了。现在,这似乎是为php 5.3做的方法:

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

不知道Jose Gonzalez是谁,但显然我们欠债......

答案 1 :(得分:29)

您的ImageMagick安装还不够。您还需要Imagick包(可能称为php72-imagick或类似的家庭酿造)。

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

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

答案 2 :(得分: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

答案 3 :(得分:16)

我有同样的问题。如果你使用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'));"
  5. Brew符号链接对我不起作用所以我必须将完整的路径名放到php.ini文件中才能使它工作。 希望这有帮助

答案 4 :(得分:6)

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

brew install php
brew install imagemagick
pecl install imagick

答案 5 :(得分:4)

尝试:

brew install homebrew/php/php53-imagick

答案 6 :(得分:3)

这个对我有用:

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

here

答案 7 :(得分:1)

好了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'));"

答案 8 :(得分:1)

我一直在寻找在Mojavie上安装imagick的正确方法,并找到了可以正常使用的解决方案。

  1. 酿造imagemagick @ 6
  2. 简单安装php@7.1
  3. 安装标题(Xcode选择--install)
  4. https://pecl.php.net/package/imagick
  5. 下载imagick源代码
  6. 打开终端并输入解压缩的文件夹imagick-3.4.3 / imagick-3.4.3(以我为例)
  7. 运行命令phpize
  8. ./ configure
  9. 制作

现在,如果发生错误,例如未找到MagicWand,请编辑文件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

答案 9 :(得分:0)

来自:php error: Class 'Imagick' not found

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

答案 10 :(得分:0)

我在安装imagemagickphp71-imagick时遇到了同样的错误。

brew upgrade imagemagick - 为我做了诀窍。

您可能需要sudo

sudo brew upgrade imagemagick

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

答案 11 :(得分:0)

由于声誉原因,我无法添加评论,只能添加到此答案:

在4月12日下午16:52回答了

GrzegorzMiśkiewicz

我丢失了一个php.h文件,因此按照Installing xdebug on MacOs Mojave - 'php.h' file not found,我通过以下命令安装了必要的文件:

sudo安装程序-pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /