PHP 5.3.8
WAMP 2.2.21
ImageMagick 6.6.2 Q16
fatal error :找不到“Imagick”类无论如何都会发生。 不管我多少次...
- 安装/重新安装不同版本的 ImageMagick
- 尝试各种 VC9 版本的 php_imagick.dll 到 'wamp\bin\php\php5.3.8\ext\'
- 已更新我的 php.ini 以包含“extension=php_imagick.dll”
- 重新启动了我的电脑和 WAMP...我数不清有多少次 O_o
我在 WAMP 启动时也遇到了这个错误
有趣的是,php_imagick.dll 通过 WAMP 任务栏显示在我的 PHP 扩展中
但不在我的本地主机 PHP 加载扩展中:
有人知道为什么会这样吗?或者有什么建议吗?
解决方案:我必须通过艰难的方式学习...... WAMP 2.2 x32 NOT x64,ImageMagick 6.6.4 Q16 最多。
最佳答案
您没有加载 php_imagick.dll
扩展。
首先检查文件是并且是可读的。如果是,则它不会加载,因为 DLL 本身 需要一些其他 DLL; Windows 通常不会显示此错误。您将需要一些工具,例如 DEPENDS加载 php_imagick.dll
并查看它包含哪些未解析的外部内容。
您可能会发现某些函数是由一个库(例如 libeay32.dll
)导入的,该库可能与您未加载的扩展关联,或者位于 PHP 目录中但应该加载已被复制到 Windows 的 SYSTEM 目录,或者可能使用不同的 VC 运行时(例如 MSVCR90.DLL
)。
例如,我发现一个示例 PHP 5.3 php_imagick.dll
依赖于这两个 DLL
CORE_RL_WAND_.DLL
CORE_RL_MAGICK_.DLL
猜猜看,CORE_RL_MAGICK 本身依赖于其他符号,这解释了这个人遇到的问题(他的解决方案可能比必要的更彻底,但是嘿,不管用什么——和它可能也对你有用,但请继续阅读)
ImageMagick - "CORE_RL_magick_.dll not found" or how to install RMagick on windows with ruby 1.9.2
使用 DEPENDS 再次查看 CORE_RL_MAGICK 会发现依赖于特定版本的 Visual C++ 运行时(对于某些版本的 IM,QT 也是如此),这将其与丑陋的蠕虫联系在一起,称为“VC6 反对 VC9”(例如 http://www.websiteadministrator.com.au/articles/install_guides/installing_php533_pg2.html )。
现在,您应该做什么?这取决于。字面上地;因为不是盲目地随机重新安装直到星星正确(再次:它可能工作。它经常这样做!),我会启动取决于 imagick
DLL,然后在 ImageMagick 核心 DLL 上,等等,直到我找到了 Windows 应该告诉你但没有告诉你的那些曲折的小依赖迷宫。
(这就是它被称为“DLL hell ”的原因)。
关于php - fatal error : Class 'Imagick' not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13047015/