サーバー会社から「PHPのバージョンを上げてください」という通知が届き、保守会社にも同じことを言われた。ところが問い合わせフォームのプラグインは、サイトを作ってもらったときの版のまま何年も触っていない。PHPを上げたらフォームが止まらないか、先にプラグインを更新すべきか。こうした迷いを抱えたままの会社は少なくありません。
期限はもう近づいています。php.netの表では、PHP 8.2の安全面の更新は2026年12月31日で終わります。WordPress公式の動作環境のページも、PHP 8.3以上を推奨しています。この記事では、日本のサイトでよく使われる3つのフォームプラグインを取り上げます。配布ページに書かれた要件から更新の順番を考え、テスト環境で新旧の版を確かめる手順をまとめます。確かめる範囲は、テスト環境でフォームが動き、送ったメールを受信テスト用の道具で受け取れるところまでです。実際の受信箱に届くか(迷惑メールの判定やサーバーの送信設定)は、この記事では扱いません。
- 「プラグインを先に更新してからPHPを上げる」が基本ですが、すべての製品に当てはまるわけではありません。Contact Form 7の現行版(6.2.5)はPHP 8.3以上を求めるため、PHP 8.2のままでは最新版に上げられません。ただし6.1系の最終版まではPHP 8.2のまま上げられるので、「6.1系の最終版→PHPを切り替え→6.2系」の3段で進めます
- MW WP Formは、2026年3〜4月にファイル添付まわりの安全面の修正版(5.1.1・5.1.2)が出ています。古い版のままなら、PHPの話とは別に先に更新します
- 動くかどうかは、テスト環境で「入力・確認画面・送信・管理者通知・自動返信」の5つを、PHPの版ごとに試して決めます
- 「古い版のままPHP 8.4で動くか」は、この記事の時点では実際に動かした記録がそろっていません。推測で答えず、結果の表は「未検証」のまま載せ、自分のサイトで確かめる手順を中心にしています
PHP更新の通知が来たとき、決めることは2つ
整理すると、決めることは次の2つです。
- いまのプラグインのまま、PHPを上げても動くか
- 動かない、または古い版のままでは危ないなら、プラグインとPHPのどちらを先に上げるか
いまのPHPとプラグインの版を確かめる
どちらを決めるにも、まず自分のサイトの版を知る必要があります。管理画面の2か所で確かめます。
- PHPの版:「ツール」→「サイトヘルス」→「情報」タブを開き、「サーバー」の欄を広げます。「PHPのバージョン」に、いま動いている版が出ています
- プラグインの版:「プラグイン」→「インストール済みプラグイン」を開きます。フォームのプラグインの行に、いまの版が出ています。新しい版があるのにPHPやWordPressの要件を満たしていない場合は、更新の案内の代わりに「互換性がない」という趣旨の表示が出ます
ここで控えた版は、後で保守会社に相談するときのメモにもそのまま使えます。
PHPとWordPressの期限・推奨(確認日:2026年11月12日)
| 項目 | 内容 | 出典 |
|---|---|---|
| PHP 8.2 | 安全面の更新は2026年12月31日まで | php.net |
| PHP 8.3 | 安全面の更新は2027年12月31日まで | php.net |
| PHP 8.4 | 通常の更新は2026年12月31日まで、安全面の更新は2028年12月31日まで | php.net |
| WordPressの推奨 | PHP 8.3以上 | WordPress.orgの動作環境 |
サーバー会社が古いPHPの提供をいつ終えるかは会社ごとに違い、予定が変わることもあります。日付は、届いた通知に書かれたものを正としてください。
PHP 8.4で何が変わるか
php.netの8.4への移行ガイドによると、PHP 8.4では、古いプログラムでよく使われていた書き方の一部が「非推奨」になり、警告が出るようになりました。非推奨の警告が出ても、それだけでフォームが止まるわけではありません。ただし警告が大量に出るプラグインは、作り手がまだ新しいPHPに合わせていない目安になります。
3製品の配布ページに書かれた要件
WordPress.orgの配布ページには、プラグインが求めるWordPressとPHPの版が書かれています。2026年11月12日に確かめた内容は次のとおりです。
| 製品 | 現行版 | 最終更新 | 必要なWordPress | 検証済みのWordPress | PHP要件 |
|---|---|---|---|---|---|
| Contact Form 7 | 6.2.5 | 2026年11月10日 | 7.1以上 | 7.1.4 | 8.3以上 |
| MW WP Form | 5.1.8 | 2026年9月27日 | 6.0以上 | 6.4.14 | 8.0以上 |
| Snow Monkey Forms | 13.0.1 | 2026年10月28日 | 7.1以上 | 7.1.4 | 7.4以上 |
この表だけでも、3製品で事情が違うことが分かります。
- Contact Form 7:6.2で、必要なPHPが7.4以上から8.3以上に上がりました。WordPressの管理画面では、PHPの要件を満たさないプラグインは「互換性がない」と表示されて更新できません。PHP 8.2のサイトでは、6.2系へは上げられません
- MW WP Form:PHP 8.0以上なので、PHP 8.2のサイトでも現行版に上げられます。ただし検証済みのWordPressは6.4.14のままで、配布ページにも「最新のメジャー版3つで検証していない」という警告が出ています。Contact Form 7やSnow Monkey Formsの都合でWordPressを7.1系にそろえると、MW WP Formは作者が確かめていない組み合わせで動かすことになります。この組み合わせは必ずテスト環境で試します
- Snow Monkey Forms:PHPの要件は低い一方で、WordPress 7.1以上を求めます。WordPress本体が古いと、プラグインより先に本体の更新が要ります
更新の順番は製品ごとに決まる
先にプラグインを上げるもの
MW WP Formのように、いまのPHPのまま現行版に上げられる製品は、プラグインを先に更新します。そうしておけば、PHPを上げた後に止まったとき、原因をPHPに絞れます。プラグインとPHPを一度に変えると、どちらで壊れたのか分からなくなります。
途中の版を経由するもの
Contact Form 7の現行版はPHP 8.3以上を求めるので、PHP 8.2のサイトでは現行版に直接は上げられません。ただ、必要なPHPが8.3以上に上がったのは6.2からです。6.1系の最終版まではPHP 7.4以上で動く前提なので、PHP 8.2のままでも上げられます。
そこで、次の3段に分けて進めます。
- PHP 8.2のまま、6.1系の最終版へ更新し、送信を試す
- PHPを8.3か8.4へ切り替え、もう一度送信を試す
- 6.2系の現行版へ更新し、最後に送信を試す
1段ずつ変えるので、止まったときにどこが原因か分かります。6.1系の最終版は、配布ページの「高度な表示(Advanced View)」にある過去の版の一覧から取れます。どの段も、まずテスト環境で試してから本番で行います。本番の作業は、すぐに送信を試せる時間帯に行います。
本体から上げるもの
Snow Monkey Formsの現行版のようにWordPress 7.1以上を求める製品は、WordPress本体の更新が先です。本体を更新するときの注意点は、古いWordPressを安全にバージョンアップする手順にまとめています。どの順番でも、作業の前にバックアップを取っておきます。
テスト環境での確かめ方
本番とは別に、同じ構成のテスト環境を用意して試します。比べるのは、各製品の現行版と、約3年前(2023年ごろ)の版です。
固定するもの
- WordPressの版:1つに固定します。Contact Form 7とSnow Monkey Formsの現行版は7.1以上を求めるので、7.1系にそろえると、3製品の現行版を同じ条件で試せます。MW WP Formにとっては作者が検証していない版なので、ここで動くかどうか自体が確かめる項目になります
- テーマと他のプラグイン:既定のテーマに切り替え、試す製品以外のプラグインは止めます
- 版と取得日:完全な版番号(例:5.1.8)と、取得した日を記録します。古い版は、基準日(例:2023年11月1日)を1つ決め、その日に最新だった版を選びます。製品ごとに選び方を変えないためです。過去の版は、配布ページの「高度な表示(Advanced View)」にある過去の版の一覧から取れます
基準をPHP 8.2で取る
まずPHP 8.2で、次の5つの操作がすべて通ることを確かめます。これを基準にします。8.2でも動かない組み合わせは、PHPを上げたことが原因ではありません。「基準不成立」として、ほかの結果と分けて扱います。
| 操作 | 確かめること |
|---|---|
| 入力 | フォームが表示され、必須項目の入力チェックが働く |
| 確認画面 | 入力した内容が確認画面に出る。確認画面がない構成は「対象外」 |
| 送信 | 完了画面か完了のメッセージが出る |
| 管理者通知の捕捉 | 会社宛ての通知メールを、受信テスト用の道具で受け取れる |
| 自動返信の捕捉 | 問い合わせた人宛ての返信メールを、同じく受け取れる |
Contact Form 7は標準では確認画面を持たないので、確認画面の項目は「対象外」になります。
メールの捕捉には、テスト環境から出たメールを外へ送らずに受け止める道具(Mailpitなど)を使います。送信してから何分待つかは先に決めておきます(例:2分)。時間内に届かなければ「受け取れない」と判定し、後から届いても結果は変えません。
PHPを8.3・8.4に切り替える
基準が取れたら、同じ環境でPHPの版だけを8.3、8.4に切り替え、同じ5つの操作を繰り返します。デバッグ用のログを有効にして、警告の件数と内容も記録します。

結果を書き込む表
結果は、次の6つの値のどれかで書きます。
- 動く:5つの操作がすべて通り、警告も出ない
- 警告のみ(利用者には見えない):5つの操作は通るが、ログに警告が残る
- 止まる:有効化できない、画面が崩れる、送信できない、メールを受け取れない、のどれかに当たる
- 基準不成立:PHP 8.2でも動かない
- 対象外:その構成に無い操作(例:Contact Form 7の確認画面)。結果の判定には含めません
- 未検証:実行の記録とログが残っていない
PHPの版ごとの結果(テスト環境でのメール捕捉まで)
| 製品と版 | PHP 8.2 | PHP 8.3 | PHP 8.4 |
|---|---|---|---|
| Contact Form 7 現行版(6.2.5) | 未検証 | 未検証 | 未検証 |
| Contact Form 7 2023年ごろの版 | 未検証 | 未検証 | 未検証 |
| MW WP Form 現行版(5.1.8) | 未検証 | 未検証 | 未検証 |
| MW WP Form 2023年ごろの版 | 未検証 | 未検証 | 未検証 |
| Snow Monkey Forms 現行版(13.0.1) | 未検証 | 未検証 | 未検証 |
| Snow Monkey Forms 2023年ごろの版 | 未検証 | 未検証 | 未検証 |
この記事の時点では、実行の記録とログがそろった組み合わせがありません。推測で表を埋めることはせず、すべて「未検証」にしています。自分で試すときは、行を自分のサイトのプラグインに置き換えて使ってください。
表を埋める前でも、更新履歴から読み取れる手がかりはあります。MW WP Formの5.1.3の更新履歴には「PHP 8.3で出ていた非推奨の警告を修正した」とあります。言い換えると、それより前の版は、PHP 8.3で警告が出る箇所を抱えていたことになります。警告は通常、利用者の画面には出ません。ただ、サーバーの設定によっては画面に出ることもあるので、テスト環境で画面とログの両方を見ます。

配布ページの「検証済み」と「PHP要件」の読み方
配布ページの数字は誤解されやすいので、読み方をそろえておきます。
| 表示 | 意味 | 読み違えやすい点 |
|---|---|---|
| 検証済み(Tested up to) | 作者が動作を確かめたと書いているWordPressの版 | PHPの版ではない。MW WP Formは6.4.14のままだが、2026年も更新が続いている |
| PHP要件(Requires PHP) | 動かすのに最低限必要なPHPの版 | 上限ではない。「8.0以上」と書いてあっても、8.4で動くとは約束していない |
| 更新履歴(Changelog) | 版ごとの修正の記録 | PHPの版の名前が出てくる修正は、それより前の版で問題があった手がかりになる |
「検証済み」の版が古くても、それだけで放置されているとは言えません。逆に、新しいWordPressで動く保証にもなりません。どちらにしても、テスト環境で試して判断します。
古い版を残すこと自体の危険
MW WP Formでは、2026年に深刻度の高い弱点が2件公表されました。
- 5.1.0以前:認証なしでサーバー上のファイルを移動される弱点。5.1.1で修正(CVE-2026-4347、2026年4月2日公表)
- 5.1.1以前:同じ種類の別の弱点。5.1.2で修正(CVE-2026-5436、2026年4月8日公表)
どちらも悪用される条件は、フォームにファイル添付の欄があり、「問い合わせデータをデータベースに保存する」設定が有効なことです。条件に当てはまらなくても、修正の入った版に上げておくのが安全です。PHPを上げるかどうかに関わらず、古い版を残しておくこと自体が危険だと考えてください。
また5.1.3では、添付ファイル用の古い書き方([mwform_file]・[mwform_image])を5.2で削除する予定だという告知が管理画面に出るようになりました。添付欄のあるフォームは、更新した後に表示と送信を必ず確かめます。
自分のサイトで更新の前後に確かめること
テスト環境で動いても、本番の受信箱に届くとは限りません。更新の前と後に、本番のフォームから1通ずつ送って、次の項目を記録します。
| 記録する項目 | 更新前 | 更新後 |
|---|---|---|
| 送った日時 | ||
| 確認画面と完了画面が出たか | ||
| 管理者通知を会社の受信箱で受け取れたか(迷惑メールフォルダも見る) | ||
| 自動返信を送り主の受信箱で受け取れたか | ||
| 管理画面にエラーや警告の表示が出たか |
自動返信は、Gmailなど社外のアドレスから送ると確かめやすくなります。更新の前から届いていなかった場合は、PHPとは別の問題です。問い合わせフォームのメールが届かない原因と直し方で切り分けてください。

表では判断できないもの(相談の目安)
次のどれかに当てはまる場合、表の結果だけでは判断できません。保守会社や制作会社に相談する目安にしてください。
- プラグインを改造していて、更新すると改造が消える
- 確認画面の追加、スパム対策、送信データの保存などで、ほかのプラグインと組み合わせている
- テーマの側でフォームの見た目や動きを作り込んでいる
- 使っている古い版の作り手が、すでに更新をやめている
保守会社に送るメモ
件名:PHP更新の前に、問い合わせフォームの確認をお願いしたい
・サイトのURL:
・いまのPHPの版/上げる先の版:
・WordPress本体の版:
・フォームのプラグインと版:(例)MW WP Form 5.0.x
・改造の有無:あり/なし/分からない
・一緒に使っているプラグイン:
・更新前に本番で送った結果:管理者通知 届いた/届かない、自動返信 届いた/届かない
・お願いしたいこと:テスト環境での確認と、更新の順番の提案
PHPの切り替えやプラグインの更新を任せられる先を探している場合は、保守・運用のサービスも参考にしてください。
