我使用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
您的ImageMagick安装还不够。您还需要Imagick包(可能称为php72-imagick
或类似的家庭酿造)。
Imagick本身不做这项工作,它是一个原生的PHP扩展,用于使用ImageMagick API创建和修改图像。
尝试通过brew search imagick
搜索包的确切名称。
来自:php error: Class 'Imagick' not found
你有没有添加extension=imagick.so
到你的php.ini
(或/etc/php.d/imagick.ini
)文件?
我已经安装了imagemagick
和php71-imagick
也有同样的错误。
brew upgrade imagemagick
- 为我做了诀窍。
你可能需要sudo
:
sudo brew upgrade imagemagick
您可能需要重新启动apache
/ php-fpm
/ <other webserver>
。
我不能因声誉而添加评论,但要添加到这个答案:
4月12日16:52回答
GrzegorzMiśkiewicz
我得到了一个缺少的php.h文件,所以根据Installing xdebug on MacOs Mojave - 'php.h' file not found我通过以下命令安装了必要的文件:
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
经过大量的实验,我才这样做了。现在,这似乎是为php 5.3做的方法:
brew tap josegonzalez/php
brew tap homebrew/dupes
brew install php53-imagick
不知道何塞·冈萨雷斯是谁,但显然我们欠他的债......
我正在使用约塞米蒂。对我来说,解决方案是这里已经列出的答案和评论的组合。
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
我遇到过同样的问题。如果您使用的是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符号链接对我没有用,所以我必须将完整的路径名放到php.ini文件中才能使它工作。希望这可以帮助
php72-imagick
现在已被弃用,因为imagick是php二进制文件本身的一部分。使用pecl
安装imagick例如:
brew install php
brew install imagemagick
pecl install imagick
尝试:
brew install homebrew/php/php53-imagick
这个对我有用:
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
好了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'));"
我正在寻找在Mojavie上安装imagick的正确方法,并找到了完全有效的解决方案。
现在如果没有找到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中