サイト管理人Blog

cloudfreeで「さぁ始めましょう♪」

非公式のphp_imagick_3.7.0-php_8.3-vs16-x64でimagickをセットアップ

2024-01-22 記載
概要 : php_imagick
Keyword : php_imagick, PHP8.3, extension, webp, avif, imagick, windows

2024-01-04の投稿
php.iniのextensionを見直し。しかしimagickが。
でimagickのセットアップに失敗したことを書きましたが、今回リトライして成功しました。

こういったトラブル系は動いてしまうと、結局なにが悪かったのか突き止められなくなる場合が少なくありません。
というのは『どうせ動かないだろう』という感覚でフォルダやファイルをいじりまわすので、前がなんだったかを確認しておいたり、動かない状態をバックアップとっておいたりはしないからです。

php_imagickのセットアップの公式マニュアル
https://www.php.net/manual/ja/imagick.setup.php

3.7.0 stable 2022-01-11 imagick-3.7.0.tgz (351.7kB) DLL
のDLLリンクから入るとwindows版は
https://pecl.php.net/package/imagick/3.7.0/windows

PHP 8.1 8.1 Thread Safe (TS) x64
が最新です。

これ以降は互換で動くのだろう、と勝手に想像し、PHP 8.3ですが、この8.1を使ったのがおそらく失敗。

「imagick Windows 8.3」でググってみますと、
以下のサイト様から情報を取得できました。
XAMPP に ImageMagick をインストールする方法【2023年改訂版】

「GitHub 上では有志の方々が PHP 8.2 と PHP 8.3 用にビルドしてくれています。」
ということでした。

非公式
https://github.com/Imagick/imagick/files/13473323/php_imagick_3.7.0-php_8.3-vs16-x64.zip
参考
https://github.com/Imagick/imagick/issues/573#issuecomment-1827616798

解凍してできるフォルダphp_imagick_3.7.0-php_8.3-vs16-x64
を私の場合
c:\pgm\php_imagick
に置いてpathを通します。
php_imagick_ts.dllを1つコピーしてphp_imagick.dllに名前変更して
(ts=スレッドセーフ)
C:\pgm\php8\ext\php_imagick.dll
に移動。

php.iniで以下のコメントをはずして。
extension=imagick
念のため再起動。

phpinfoで確認。

まだ実際に動かしてませんが多分動いてそうです。
WordPressのサイトヘルスの警告も出なくなりました。

みるとsupported formats に AVIF, WEBP があります。(ImageMagick 7.1.1-19)
cloudfreeをみますとImageMagick 6.9.10-68でAVIF, WEBPがありません。

関係ないですが、gdのほうは
(local) FreeType Version 2.11.1で
WebP Support enabled
AVIF Support enabled
(cloudfree)FreeType Version 2.8.0で
WebP Support enabled
(AVIF 欄なし)
でした。

非公式の最新版をいれたためローカルのほうが進化してしまいました。
また機会に実際につかってみたいと思います。

しかしphpは8.3まできているのに8.1で止まっているということは、imagick、もうオワコンなんでしょうか。


投稿へのコメントは コチラ(掲示板) へお願いします。

サイト管理人Blog