10

ImageMagick-6.8.3-7-Q16-x86-dll.exeリンクからダウンロードしてインストールし、 http://imagemagick.org/script/binary-releases.php#windowsWindows 7 と PHP 5.3.8 を使用しています。

これをインストールすると、マシンに正しくインストールされ、convertコマンドが完全に機能します。私の変換設定では、何が表示されますか:

ここに画像の説明を入力

しかし、私の phpinfo セクションでは、次のようになります。

ImageMagick がサポートするフォーマットに値がありません

このようなすべての画像マジック値を取得しましたhttps://www.evernote.com/shard/s297/sh/12397c86-d016-4ca4-9415-fd541daeca39/2fc504bf5ddba5693efd3249402b2b5c

32 ビットの Windows7 マシンの php 5.3.8 に同じ ImageMagick-6.8.3-7-Q16-x86-dll.exe をインストールしたので、値が得られない理由がわかりません。php_imagick.dll私は他のウェブサイトからダウンロードしました。imagemaagickのインストールで何が問題なのかわかりません。バージョンの問題である場合、php_imagick.dllこの構成に適切なphp_imagickバージョンを提案できますか?

4

8 に答える 8

10

解決策を探すのに数日を費やしましたが、Sysinternals procmon でようやく解決策を見つけました。

Apache がフォルダー c:\windows\system および /bin で IM_MOD_xxxx.dll のような dll ファイルを探していることがわかりました。ファイルをそれらのフォルダーの1つにコピーすると、うまくいきました。

幸運を祈ります。

于 2014-04-08T13:09:12.600 に答える
4

この問題の解決策を探しているときにGoogleで最初に結果が出たので、私にとってはうまくいったものを追加します。ソース: http://forums.zend.com/viewtopic.php?t=2397#p15226

PHP 5.6 で問題が発生しました。拡張子は認識されましたが、サポートされている形式はありませんでした。( http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/ )

最新バージョンの imagemagick (動的ライブラリを使用) をインストールし、imagemagickDir/modules/coders/* および imagemagickDir/modules/filters/* から DLL ファイルを imagemagick ルートにコピーすると、php を呼び出したときから imagemagick が適切に動作するようになりました。

IIS に imagemagick フォルダーへのアクセスを許可することを忘れないでください。

編集:

IIS がフォーマットを正常に認識したときに、互換性の問題が発生しました。

PHP 5.6 の作業コンボ:

http://windows.php.net/downloads/pecl/releases/imagick/3.2.0b2/
http://ftp.icm.edu.pl/packages/ImageMagick/binaries/ImageMagick-6.8.8-9-Q16- x86-dll.exe

于 2014-10-13T07:16:01.173 に答える
1

このプログラムと PHP の状況は時間とともに変化しているため、多くの答えがあります。

私は現在PHP 7.1を使用しているので最先端です。最初は、すべての指示に従って、あちこちに DLL をコピーしていました。幸いなことに、必要なのは最新の PECL パッケージと、システムに対応するバージョンの Imagick だけであり、これが厄介な部分でした。PHP 拡張機能を使用する場合、拡張機能がアップグレードされるまで、最新の Imagick (これを書いている時点でバージョン 7) を使用することはできません。PHP 拡張機能のバージョンと一致するバージョンの Imagick をシステムにインストールする必要があります。

他の人が指示したように、PHP バージョンの imagick の最新の PECL パッケージをダウンロードします。私はスレッドセーフな x64 バージョンの PHP 7.1 を使用しているので、3.4.3RC1 パッケージが必要です。現時点では、私のバージョンの PHP 用の DLL を含む唯一のパッケージです。

これらのファイルのうち、コピーする必要があるのはphp_imagick.dll. 次に、http: //windows.php.net/downloads/pecl/deps/ にアクセスして、お使いのシステム用の最新の Imagick をダウンロードします。この時点ではおそらく VC14 になるでしょう。対応する C++ 再頒布可能パッケージをシステムにインストールして、それが機能するようにします。ファイルを解凍し、ビンをパスに追加するだけです。繰り返しますが、Imagick の新しいバージョンをお持ちの場合は、これに置き換えてください。これは php 拡張機能で動作するためです。

この時点で、Apache を再起動し、phpinfo で imagick 拡張機能が有効になっていることを確認できるはずです。PHP 拡張機能の Imagick のバージョンが表示されます。繰り返しになりますが、パス内のシステム上の Imagick が、PHP 拡張機能について示されているものと一致するバージョンである場合、システム上のバージョン 6 Imagick の DLL から取得している、サポートされている形式のリストが表示されます。それらを apache bin やその他の場所にコピーしたり、MAGICK_HOME フォルダーを作成したりする必要はありません。

于 2016-12-25T07:26:00.227 に答える