3

PHP5.3.8

ワンプ 2.2.21

ImageMagick 6.6.2 Q16


致命的なエラー: Class 'Imagick' not foundは何があっても発生します。何度やっても...

  1. ImageMagick の異なるバージョンをインストール/再インストールする
  2. 「wamp\bin\php\php5.3.8\ext\」への php_imagick.dll のさまざまな VC9 ビルドを試してください。
  3. 「extension=php_imagick.dll」を含めるようにphp.iniを更新しました
  4. PCとWAMPを再起動しました...回数数えきれませんO_o

WAMPの起動時にもこのエラーが発生します

ここに画像の説明を入力


面白いのは、php_imagick.dll が WAMP タスクバーを介して PHP 拡張機能に表示されることです。

ここに画像の説明を入力

私のローカルホストにはありません PHP-Loaded Extensions:

localhost ロード済み拡張機能


なぜこれが起こっているのか、誰にも考えがありますか? または何か提案はありますか?


解決策: 私は難しい方法を学ばなければなりませんでした... x64 ではなく WAMP 2.2 x32、最大で ImageMagick 6.6.4 Q16。

4

1 に答える 1

1

php_imagick.dll拡張機能をロードしていません。

まず、ファイルそこにあり、読み取り可能であることを確認してください。そうである場合、DLL 自体が他の DLL を必要とするため、ロードされていません。通常、このエラーは Windows では表示されません。DEPENDSなどのツールをロードphp_imagick.dllして、含まれている未解決の外部を確認する必要があります。

おそらく、一部の関数がライブラリ ( などlibeay32.dll) によってインポートされていることがわかります。このライブラリは、ロードしていない拡張機能に関連付けられているか、PHP ディレクトリにあっても Windows の SYSTEM ディレクトリにコピーされているはずです。異なる VC ランタイム (例MSVCR90.DLL)。

たとえば、php_imagick.dll私が見つけた PHP 5.3 のサンプルは、これら 2 つの DLL に依存していることが判明しました。

CORE_RL_WAND_.DLL
CORE_RL_MAGICK_.DLL

そして、CORE_RL_MAGICK自体が他のシンボルに依存していることを推測してください。これは、この男が経験していた問題を説明しています (彼の解決策は、必要以上に徹底していたかもしれません。 )

ImageMagick - 「CORE_RL_magick_.dll が見つかりません」または ruby​​ 1.9.2 の Windows に RMagick をインストールする方法

DEPENDS を使用して CORE_RL_MAGICK を再度調べると、特定のバージョンの Visual C++ ランタイム (および一部のバージョンの IM では QT も) への依存が判明し、これは「VC9 に対する VC6」として知られるワームの醜い缶に結び付けられます (例: http: //www.websiteadministrator.com.au/articles/install_guides/installing_php533_pg2.html )。

さて、あなたは何をすべきですか?場合によります。文字通り; 星が正しくなるまでやみくもにランダムに再インストールするのではなく (繰り返しますが、うまくいくかもしれません。うまくいくことがよくあります!)、迷路を突き止めるまで、DLL で DEPENDS を起動しimagick、次に ImageMagick コア DLL で起動します。 Windows が通知するはずの、ねじれた小さな依存関係がすべて同じように表示されますが、通知されません。

(それが「 DLL Hell 」と呼ばれる理由です)。

于 2012-10-24T10:33:46.310 に答える