php错误:找不到类'Imagick'

新手上路,请多包涵

我收到错误“找不到类’Imagick’”。不知何故,我需要让这个库可供 php 访问。我在 Fedora 8 上使用 Php 5.2.6。我的 php_info 没有提到 ImageMagick。

我试过了: yum install ImageMagick 并重新启动了 apache,但没有成功。

我还在我的 php.ini 文件中添加了 extension=imagick.ext 并重新启动了 apache,但它不起作用。

原文由 Andrew Thomas 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 524
2 个回答

来自:http://news.ycombinator.com/item?id= 1726074

对于基于 RHEL 的 i386 发行版:

 yum install ImageMagick.i386
yum install ImageMagick-devel.i386
pecl install imagick
echo "extension=imagick.so" > /etc/php.d/imagick.ini
service httpd restart

这也可能适用于使用 yum 包管理器的其他 i386 发行版。对于 x86_64,只需将 .i386 替换为 .x86_64

原文由 Andrew Thomas 发布,翻译遵循 CC BY-SA 3.0 许可协议

安装基础 Imagick 存储库

如果您使用的是 PHP5,这些答案中的许多都很棒,但是 PHP8 提供了太多的功能,而 imagick 在这里有点不同。

安装基础 imagick 存储库:

 sudo apt-get install php8.0-imagick php8.1-imagick imagemagick php-imagick php-pear php-dev

将 Imagick 的扩展安装到 PHP 中

如果您尚未升级到 8.1 版,您可能需要省略 php8.1-imagickphp-pearpecl 命令所在的位置,因此,如果安装不正确,当您需要执行下一个命令时会出现错误…

 sudo pecl install imagick

更新 PHP.ini

找到您的 php.ini 文件…

 php -i | grep  -i php.ini

你可能会得到这样的输出……

 Configuration File (php.ini) Path => /etc/php/8.1/cli
Loaded Configuration File => /etc/php/8.1/cli/php.ini

打开此文件并将以下文本添加到文件末尾: extension=imagick.so

重启 PHP

然后重启你的服务器。这些中的任何一个都可以:

 systemctl restart apache2
/etc/init.d/apache2 restart
sudo service apache2 graceful

检查安装是否有效

  • 在网页上查看 phpinfo() 的结果,其中应该提到 imagick。
  • 使用 php -r "echo phpinfo();" | grep 'imagick'; 从命令行查看模拟 phpinfo() info 调用的结果。
  • 使用 php -i | grep 'imagick' phpinfo() 的内部存储。
  • 请参阅名称中包含 imagick 的已安装软件包 dpkg --list | grep 'imagick'

注意:这些都很重要,因为当我调试时,我能够看到 Imagick 安装在较低层(即使用 dpkg ),但在较高层没有看到它(即使用 phpinfo(); 通过网络主机)。干杯。

原文由 HoldOffHunger 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题