WordPressのサイトヘルスでPHPバージョンが最新でないと表示される

はじめに

PHPをしばらく更新していなかったので,WordPressのサイトヘルスにワーニングメッセージが表示されるようになった。

PHPのバージョン決定

php_imagickダウンロード

とりあえずPHPの最新のバージョンを調べると8.4らしいが安定版でないようなので,8.3をインストールしてみることにした。ダウンロードするにあたってphp_imagickの関係もあり最初にphp_imagickをダウンロードする。最新版のVersion3.8.0のWindows版DLLを選択する。
PECL :: Package :: imagick

PHP8.3の「8.3 Thread Safe (TS) x64」を選択する。

ダンウロードした「php_imagick-3.8.0-8.3-ts-vs16-x64.zip」を解凍して「php_imagick.dll」のプロパテイ-詳細タブを開いて製品パージョンを確認する。PHP製品バージョンは「8.3.20」なので同バージョンのPHPをダウンロードする。

PHPダウンロード

PHPダウンロード画面TOPの左下のアーカイブからファイル一覧を開く

PHPバージョン「8.3.20」のうち,apacheはマルチスレッド対応なので-nts-が付いていない64ビット版ファイルを選択する。

ImageMagickダウンロード

次にImageMagickをダウンロードするのだが,「php_imagick.dll」のプロパティから確認した更新日付以前に作成されたファイルを選ぶ。日付付近であれば問題ないと思う。
今回は最初に「7.1.1.47」を選んだが,info.phpで確認したら「7.1.1.46」だったのでインストールしなおした。

インストール

インストールは過去記事参照
PHP(imagick)インストールメモ – na-blog

ImageMagickのインストールは旧バージョンを残して新バージョンが追加インストールされるので旧バージョンは必要なければアンインストールする。その際にPerlMagickをインストールしている場合は,連係解除され使用できなくなるのでPerlMagickを再インストールする。

インストール後の確認

info.phpで確認
コンパイルバージョンとインストールバージョンが合っている。

問題発生

モジュールが無い

apacheが起動しない。下記のモジュールがロードできないようだ。
 libcrypto-1_1-x64.dll
 libssl-1_1-x64.dll
以前のバージョンにあったファイルがPHP8.3.20に含まれていない。必要なくなったようだ。
とりあえず以前のバージョンからコピーして起動することは確認できたが,新バージョンでは必要ないので,apacheのhttpd.confを修正してロードしないようにしてみた。
正常に起動するし動作も問題ないようだ。

サイトヘルスのエラー

サイトヘルスを確認すると新たなエラーが発生

zipモジュールがない。
php.iniのextension=zip をアンコメントしてエラーは消えた。PHPの新バージョンでは必要のようだ。

追加分の外部コマンドが効かない

追加した外部コマンド処理が完了しない。
下記の外部コマンドexeファイルを「D:\Program Files\php\」に入れておいたがファイルが無いので処理が完了しなくなった。入れ忘れていた。
htpasswd.exe
nWOLc.exe
PsExec.exe
PsExec64.exe
psshutdown.exe
psshutdown64.exe

PHPアップデート等でファイル入れ替えの都度対応が必要となるので,呼び出し元のphpファイルと同じフォルダーに配置したほうが良いかも。

おわりに

今回は安定版のPHPをインストールしたが,いずれ最新版をインストールする必要があるので最新版の8.4をインストールしてみても良かったかも。ダメなら戻せば良いので。
バージョンにより微妙にファイルが異なっており今後のバージョンアップの都度,データインターフェースの変更が必要になってくるので毎回てこずりそうだ。