Image::Magick(PerlMagick)インストール

はじめに

PHPでImageMagickを使用しているシステムにPerlからもImageMagickを使用できるように設定したので手順をメモる。

前提条件

次のシステムに追加でImage::MagickPerlMagick)をインストールする。
Apache:2.4.57-win64
PHP:8.1.2-Win32-vs16-x64
ImageMagick: 7.1.0-18 Q16-HDRI x64
imagick:php_imagick-3.7.0-8.1-ts-vs16-x64

インストールバージョン検討

最初は「Strawberry Perl」でインストール出来ないか試行錯誤したが上手くいかなくて,バージョン合わせが結構大変で挫折した。ネット検索では「Strawberry Perl」のppmからのインストールがしやすいイメージだったが,今後の課題として取っておくことにする。
PHP導入前には,ActivePerlからImageMagickを使用していたのを思い出してその組み合わせのバージョンを調べてファイルを準備した。かなり古いバージョンだ。
ActivePerl v5.16.3
ImageMagick-6.8.8-Q16

以前のシステムではこの組み合わせで上手くいっていたのだが,現状のImageMagickのバージョンと異なる(古い)ので,普通のインストールではダメだと思う。
そもそも同じバージョンのImageMagickを使用するからバージョン合わせが困難になっている。PHPとPerlでそれぞれに合った別のバージョンのImageMagickを使用すれば可能なのだが・・・。

別バージョンのImageMagick使用イメージ

インストール

ActivePerl

ActivePerl v5.16.3をインストール

setup画面

I accept the・・・・ 選択

D:\usr\localフォルダーにインストール

確認し「Next」

確認し「Next」

確認し「Install」クリック。
ActivePerlをインストール後にWindowsを再起動してからImageMagickをインストールする。(ImageMagickのインストーラーから確実に認識させるため)

ImageMagick

ImageMagick-6.8.8-Q16をインストール

setup画面

I accept the・・・・ 選択

確認し「Next」

D:\・・・にインストール

確認し「Next」

「Install PerlMagick for ActiveStatePerl v5.16.3」をチェックすれば,Perlインストール後に「Image::Magick」がインストールされる。(3ステップ後)

確認し「Next」

インストール中


「Image::Magick」のインストール画面
Perlがインストールされていないか又は認識出来ない場合はこの画面に代えてエラー画面が出る。

確認し「Next」

確認し「Finish」

動作確認

PerlのImage::MagickテストはOKだったがPHPのImagickはダメになった。
まあ,予想通りの結果だ。

環境変数のPathの順序変更

PHPのImagickはダメだったので,元に戻すため「ImageMagick 7.1.0-18 Q16-HDRI x64」を上書きインストールしたらPHPのImagickとPerlのImage::Magickの両方がOKとなった
上書きインストールで変わった箇所は環境変数のPathの順序が入れ替わったことだ。
古いWindowsでは入れ替わるが,比較的新しいWindowsでは位置はそのまま残る。
「ImageMagick-7.1.0-Q16-HDRI」の後に「ImageMagick-6.8.8-Q16」を持ってくることで,上手くいっているようだ。
PHPとPerlでそれぞれに合った別のバージョンのImageMagick使用で両立することが出来た。
PerlのImage::Magickは古いバージョンだが,メイン使用でないのであまり問題ないと思う。

各バージョンの相関関係