web-dev-qa-db-ja.com

ImageMagickをインストールして、PHP Windows 7(3)で使用する方法

ImagickをWindows 7にインストールする方法に関するスレッドは他にもありますが、これまでのところ私には何の助けもありません。 :(

(より新しいバージョンで問題が発生した可能性があります)

以下の手順に従ってインストールしました。

  1. ImageMagickをダウンロードしてインストールする

    http://www.imagemagick.org/download/binaries/ImageMagick-6.8.8-1-Q16-x86-dll.exe

  2. Php_imagick.dllをダウンロードし、拡張子dir(c:\ xampp\php\ext)にコピーします

    http://www.peewit.fr/imagick/php55/vc11/x86/ts/php_imagick.dll

  3. Php.iniファイルを編集し、新しい拡張子を追加します(c:\ xampp\php\php.ini)

    extension = php_imagick.dll

  4. Iniファイルを保存し、Apacheを再起動します(必要に応じて、Windowsを再起動します)

  5. Apacheを起動してテストを実行します

Apacheを起動すると、ポップアップボックスが表示されます。

Php5.dllがコンピューターにないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてください。

次に、この直後に別のものが来ます:

PHPスタートアップ:動的ライブラリ 'C:\ xampp\php\ext\php_imagick.dll'をロードできません-指定されたモジュールが見つかりませんでした。

funtioneerによると 何らかのコンパイルエラーが疑われます。

これで、コンパイラMSVC11を使用したPHPバージョン5.5.6(xampp 1.8.3))がphp_imagick.dllファイルと同じになりました。

ソースからImageMagickをダウンロードして、自分でコンパイルするのが正しい方法ですか? (Windowsでコンパイルしたことがない)

17
embe

最新バージョンを使用する代わりに、 here からImageMagick-6.7.7-5-Q16-windows-dllをダウンロードしてみました。それは実際にphp_imagick.dll(Imagick for PHP 5.5.x)from http://www.peewit.fr/imagick/ で動作しました。

これは最新バージョンではありませんが、機能しました。 (コンピューターを再起動しなくても)

23
embe

ここでは、インターネットに投稿されたほぼすべての可能なソリューションを試した後、最終的に私のために働いたもの:

環境:

OS: Windows Server 2008 R2 (64bit)

IIS: 7.5

PHP: 5.5.11 (x86)

PHP.ini: VC11, x86

ダウンロード およびImageMagickのインストール

ImageMagick-6.8.9-1-Q16-x86-dll.exe

ダウンロード Anatolからの対応する.Zipの推奨ソース(kudos to Anatol!)

ImageMagick-6.8.9-1-vc11-x86:

一時フォルダーに解凍し、Imagemagickインストール内の「bin」フォルダーの内容をコピーします(c:\imagemagick)私の場合、ファイルを上書きします。

ダウンロード.dllそして、それをPHP拡張機能フォルダに入れます(私はこれを使用しました)

Imagick for PHP 5.5.x非スレッドセーフ: http://www.peewit.fr/imagick/

Php.iniに拡張機能を追加します:

extension=php_imagick.dll

Php.iniを保存してIISを再起動します

最後に、Image Magickの情報がphpinfo()に表示されました。コール。

3つの異なる場所からファイルをダウンロードするために必要なこの問題を解決することを考えるのは信じられないほどです。

それが役に立てば幸い。

10
lithiumlab

ここに私がそれを機能させるために行ったものがあります注:本当に説明しなかった私を本当につまずかせたステップは、php_imagick.dllのバージョンがimagickのインストールと一致する必要があるということです

わかりましたので、私が行った手順は http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/ (php_imagick-3.1.2-5.5を使用しました)からphp imagick dllをダウンロードしました-ts-vc11-x86.Zip)

Zipファイルには、これを念頭に置いて多くのdllが含まれますが、今後必要になる可能性があります。 php_imagick.dllを拡張フォルダーに抽出します

それを拡張フォルダに入れます

Php.iniで拡張機能を追加= php_imagick.dll

ここでの問題は、php_imagick.dllがOpenコマンドプロンプト用にコンパイルされたimagickのバージョンを確認し、php -e -vと入力する必要があることです。これは、先ほどダウンロードしたZipで他のDLLを抽出し、 phpフォルダーにエラーメッセージが表示され、dllが見つからないことを示すメッセージが表示される可能性があります。そのため、以前のZipフォルダーからDLLをPHPフォルダーに抽出してください。php-e -vを再度実行してみてください。エラーメッセージなしで正常に動作するはずです。 phpinfo()を見てimagickセクションに移動すると、ImageMagickバージョンと表示されます:MineはImageMagick 6.8.6-8を以前のバージョンであり、サイトにあると言いました。おそらくゼロと言うでしょう。

here に移動し、一致するバージョンをダウンロードしてインストールします(インストールするときに、パス変数に追加するチェックボックスがオンになっていることを確認してください)

Apacheのインストールが完了したら。先ほど入れたphpフォルダーからDLLSを削除し、Apacheを再起動します。 Apacheを再起動すると、すべてが機能するはずです。

7
Kris

Php 7.0 +を使用してWindowsにimagick php拡張機能をインストールする方法については、 installing-imagick-php-7 を参照してください。これは私がこれまでに見つけた唯一の本当の解決策です。それは非常に詳細になります。

3
mdo123

使用すべきImageMagicディストリビューションはここから http://windows.php.net/downloads/pecl/deps/ です。 ImageMagicバイナリは、PHP拡張モジュールと同じCRTでビルドする必要があります。

3
Anatol Belski

更新日:2017年8月21日

Php 7とIIS(Apacheは非常によく似ています):ImagickVersion。3.4.3

PHP 7 nts x86、Windows Server 2012 x64、IIS 8.5

1)VC++ 2015をインストールします https://www.Microsoft.com/en-US/download/details.aspx?id=48145

2)Get[〜#〜] only [〜#〜]php_imagick.dll from https://pecl.php.net/package/imagick

3)php/ext /フォルダーに入れ、extension=php_imagick.dllphp.iniに追加します

注意!サポートされる最小バージョンPHP> = 5.4.0 and ImageMagick> = 6.5.3-10。

ImageMagick 7は現在サポートされていません。

Phpinfoを見てください:

enter image description here

ImageMagick 6.9.3-7 Q16 x86をインストールする必要があります4)ImageMagick 6.9.3-7 Q16 x86 dllhttp://ftp.icm.edu.pl/packages/ImageMagick/binaries/ からインストールする必要がありますパスへの変数」。

5)サーバーを再起動します

それで全部です

2
Alexufo

以下の手順で機能します。

_php 5.5 32bit ts_ + _Apache 2.4_ + _windows 10 64bit_ + _Imagick 6.9.3-5_ + _php_imagick.dll ts_

システムビットの内容を確認してください。

http://windows.php.net/downloads/pecl/releases/imagick/ から_php_imagick.dll_バージョンを選択します

_php_imagick.dll_ファイルから_.Zip_を見つける

選択方法がわからない場合。

タイプ_php -v_コマンドラインウィンドウでphpバージョンを取得

次のコードを実行すると、インストールしたphpの種類を示します_thread safe_または_non thread safe_。 here をクリックすると役立ちます。

Windowsの場合:_php -i|find "Thread"_

Linuxの場合:_php -i|grep Thread_

または、関数phpinfo()を実行して、Webページで_"Thread"_を検索できます。

_Thread Safety enabled_または_Thread Safety disabled_が表示されます

他の手順は、@ embeによってすでに記述されています。

0
FavorMylikes

さて、ドキュメントで言及されていないことについては、環境でのMAGICK_HOME値の設定です。 ImageMagickはこの変数を必要とするので、関連するすべてのコーダーを見つける場所を知っています。

コントロールパネルを開き、「PATH」を検索します。結果で、「システム環境変数の編集」を選択します。 [環境変数...]オプションを選択し、新しい[システム変数](下のリスト)を追加します。別のインストールパスを選択した場合は、C:\ imgを独自のパスに置き換えてください。

変数:MAGICK_HOME

値:C:\ img\modules\coders

詳細

0
ashkufaraz