初めに
以前、Eclipse Luna SR2 (4.4.2) 上のPHPでImageMagickを動かす
http://qiita.com/fulcrum/items/dde395a62dc49133ed8f
で作り、PHPを用いて試験的にコードを書いた後、しばらく離れていたが、
久しぶりにコードを続けようとしたら横やりが入り、
そのお陰でいろいろ破壊されたらしく、コードが動かない(涙)
#しかもバックれるし…
10日かかった。
記録の為に記載するが、誤り等あれば指摘して下さい。
動かなくなった原因は、このページの範囲では
EclipseとOSが新しくなった事で、
VC、imagick、ImageMagickの各バージョンがごちゃごちゃした事によるものだろう。
#横やりプロジェクトの、無理矢理なパス、Pleiades付属のxamppの変な仕様、妙な設定ファイルの指示もあるが割愛。
なお、感想としては…
Windows10(に限らず新しめのWindows) +PHP+ImageMagickは結構はまると思われるので、お勧めしません…
インストール環境 - 案外、これ重要。
Windows 7 Professional SP1 64ビット + Eclipse Luna SR2 (4.4.2)。
->
Windows 10 Pro 64bit + Eclipse Neon (4.6.3)
OS上げたのは自己都合です(爆) 何故かPHPInfoでは8.1になっとりますが。
Eclipse Neonは、そこに上げさせられた感じ -> 無意味なんだけど。
どうせなら、4.7に上げるか?と思ったけど、勝手に上げるなとか、また変な言いがかりが増えそうなんでやめておいた。
必要な作業の概要
0. 増えた作業
0-1. 新しいパッケージの確保
全部のMicrosoft Visual C++ … (visual c++ 再頒布可能パッケージ) 32bit/64bit
-> PHPInfoによるとMSVC11(Visual C++ 2012)のx86の為、、Microsoft Visual Studio 2012 (VC++ 11.0) 32bitだけで良いと思うが、こいつらもマメに上がっているので、最新入れ直した方が良いと思われ。
ここが便利。一部リンク切れ。
https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads
ImageMagick
ftp://sunsite.icm.edu.pl/packages/ImageMagick/binaries/
より
ImageMagick-6.7.9-0-Q16-windows-dll.exe
->
ImageMagick-6.9.5-9-Q16-x86-dll.exe
PHPInfoを見て、OSがx86になってたから。
バージョンはここら見てえいやで決めた。
http://www.ownway.info/Ruby/rmagick/howtoinstall/windows#check_image_magick_version
http://funct.hatenablog.com/entry/20160601/p1
Qは8でも16でもいいでしょう。dll版の善し悪しは賛否両論有ったが、dll版にした。
imagick
https://pecl.php.net/package/imagick
から
php_imagick-3.3.0-5.6-ts-vc11-x86.zip
バージョンはあんまり考えてない(爆)
PHPInfoから、PHP 5.6.30で有る事、MSVC11で有る事、x86で有る事、Thread Safety Enabledで有る事からこれにした。
0-2. 古い環境の削除
ImageMagickと、MSVCのパッケージ(新しく確保できたの)は、
アプリとして削除、OSの再起動後にフォルダがあればそれも削除した。
0-3. Microsoft Visual C++ … (visual c++ 再頒布可能パッケージ) のインストール
バージョンの古い順から、x86入れた後にx64導入、を徹底。
アプリと機能、を都度確認しながら、位の慎重さで良いと思う。
ここからが、以前とそんなに変わらない。
1. ImageMagickのインストール
ImageMagick ImageMagick-6.9.5-9-Q16-x86-dll.exe インストール。
インストール先は、C:\ImageMagick。
-> スペース禁止なのでデフォのProgram Files配下は避けるのが無難。「-」はどうだったかな?
オプションは、デフォ+Install development headers and libraries for C and C++。
2. 環境変数の登録
自動的に追加される事もあるが、Pathの先頭にC:\ImageMagickを追加、
MAGICK_HOMEを新設し、C:\ImageMagickを指定した。
以前はC:\ImageMagick\modules\codersを指定したけど、そうで無くて良いみたい。
なお、この時点で、プログラム一覧からImageMagick->ImageMagick Displayの起動を試して、起動しない様ならここまでで失敗している。
3. Microsoft Visual C++ Redistributableのインストール
先にやった
4. PECL imagickのインストール
php_imagick-3.3.0-5.6-ts-vc11-x86.zip
を展開して、
php_imagick.dll
を
C:\プレアデスのインストールディレクトリ\xampp\php\extに、
CORE_RL_bzlib_.dll、CORE_RL_glib_.dll、CORE_RL_lcms_.dll、CORE_RL_lqr_.dll、CORE_RL_magick_.dll、CORE_RL_ttf_.dll、CORE_RL_wand_.dll、CORE_RL_zlib_.dll
を
C:\プレアデスのインストールディレクトリ\pleiades\xampp\php
に、コピーする。
5. php.iniへの記載
ファイルの最後に
[PECL]
extension=php_imagick.dll
記載。
6. OSごと再起動
7. 確認
PHPInfoで、imagickが表示されていれば成功。