2012-10-24 244 views
3

PHP 5.3.8致命错误:类 'Imagick' 未找到

WAMP 2.2.21

ImageMagick的6.6.2 Q16


致命错误:类 'Imagick' 未找到无论发生什么,都会发生。 不管有多少次我...

  1. 安装/重新安装不同版本的ImageMagick
  2. 尝试各种VC9的建立php_imagick.dll以 'WAMP \ BIN \ PHP \ php5.3.8 \分机\'
  3. 已经更新了我的php.ini中包括“延长= php_imagick.dll”
  4. 已经重新启动我的电脑和WAMP ...我不能指望有多少次O_O

我也得到这个错误WAMP启动

enter image description here


有趣的是,php_imagick.dll通过任务栏WAMP

enter image description here

但不是在我的本地主机的PHP扩展加载在我的PHP扩展显示出来:

localhost Loaded Extensions


有没有人有任何想法,为什么发生这种情况?或者有什么建议?


解决办法:我不得不学习困难的方式... WAMP 2.2 X32不是64,ImageMagick的6.6.4 Q16在最大。

+0

你可以在这台机器上找到多少个php.ini文件? – Cups

+0

@Cups嗯..没有意识到我有2.我要更新第二个php.ini并报告回去...... – Terry

+0

请注意,一个可能是CLI PHP ini文件,所以编辑时可能会出现意外后果。让PHP向你输出它正在使用的PHP ini文件的路径:检查phpinfo()的输出到网页上(在localhost或其他)。 – Cups

回答

1

您尚未加载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

展望CORE_RL_MAGICK与DEPENDS再次证明广告依赖于特定版本的Visual C++ Runtime(以及对于某些版本的IM,也是QT),这将它与称为“VC6对VC9”的蠕虫的丑陋罐头(例如, http://www.websiteadministrator.com.au/articles/install_guides/installing_php533_pg2.html)。

现在,你应该怎么做呢?它取决于。从字面上看,而不是盲目地重新安装,直到星星是正确的(同样:它可能工作,它经常会这样!),我会在imagick DLL上启动DEPENDS,然后在ImageMagick核心DLL上等等,直到我被猎杀放下一点扭曲的小依赖的迷宫,Windows应该告诉你,但不是。

(这就是为什么它被称为“DLL地狱”)。

+0

php_imagick.dll在那里,可读,我甚至双重检查;)我很确定它不需要任何其他.dll(s)运行。我可能是错的,但我已阅读所有,看到教程和论坛条目后阅读论坛条目,并从未有任何其他提到任何其他.dll或将php_imagick.dll放置在任何地方,但我的PHP扩展文件夹... – Terry

+1

编辑答案。 .. – LSerni

+0

这可能是我得到的最有用的答案。永远。 – Terry

相关问题