2012-10-24 228 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

相關問題