PHPの更新状況は「どの環境で動くPHPか」「どこが配布・管理するものか」「その脆弱性の修正が反映されたか」の3点で確認します。ターミナルのphp -vだけでは、Webサイトを動かすPHPまで確認できたとは限りません。まず下の環境別手順を選んでください。
2026年10月26日に公式資料を確認しました。このガイドは確認方法を扱います。個々の脆弱性の対象条件・修正版・回避策は各速報と、その配布元の公式告知で確認してください。ここにあるコマンドは版や設定ファイルの場所を表示するもので、更新・再起動は行いません。
1.最初に、自分が管理する環境を選ぶ
- ▸レンタルサーバー・マネージドサービス:対象ドメインの管理画面と事業者の案内を確認します。自分でOSのPHPを更新する手順は使いません。
- ▸自分で管理するサーバー:CLIとWeb側を分けて調べ、OS・パッケージ・配布元を記録します。
- ▸Docker:ホスト側ではなく、対象サイトが実際に使う稼働中コンテナを確認します。
- ▸管理権限がない・構成が分からない:下の問い合わせ用チェックリストを管理者や事業者へ送ってください。分からない状態で本番設定を変更しないことを勧めます。
2.レンタルサーバー:選択中の版と事業者の対応を確かめる
- ✓対象のドメイン・契約プランを確認し、そのサイトのPHP設定画面を開く。提供可能な版の一覧と、現在選択している版を区別する。
- ✓事業者の障害・メンテナンス・セキュリティ告知を開く。対象サービス、対応する脆弱性、反映予定または完了日時、自分の作業の有無を読む。
- ✓画面の表示が8.xなどの大きな区分だけなら、細かな修正の適用状況をその表示だけで判断せず、事業者へ確認する。
スマイルサーバを利用している場合
スマイルサーバのV5向け公式案内(2021年)は、サイトマネージャーの「WEB & FTP管理 → CGI管理 → PHPバージョンの切り替え」を案内しています。古いV5向けの案内なので、現在の全プランに同じ画面があるとは扱いません。契約サービスの現行マニュアルを確認し、画面が違えば事業者へ問い合わせてください。この案内だけから、現在の提供版や特定の脆弱性への修正状況は判断できません。
3.自前サーバー:CLIとWeb側のPHPを分ける
シェルを使える管理者は、まず次の2つを実行します。PHP公式マニュアルによると、-vは版とSAPI(実行方式)を、--iniは設定ファイル名と走査先を表示します。出力の(cli)はCLIの確認結果です。Web側のPHP-FPMやApacheのPHPまで同じ版・設定とは決めないでください。
php -v
php --ini表示例の「PHP 8.x.y (cli)」では、8.x.yが版、cliが実行方式です。これは出力の読み方を示す記号で、実在する修正版の例ではありません。command not found等で実行できなければ、そのシェルからPHPを確認できなかったという結果です。WebサイトにもPHPがない、とは判断しません。
Web側は、既存の認証された管理・診断画面があればそこで確認します。なければ管理者に、対象サイトのリクエストを処理するPHPのphpversion()とphp_sapi_name()の値を、管理された方法で確認するよう依頼してください。前者は実行中PHPの版、後者は実行方式を返します。phpinfo()は版以外の設定・環境情報も出力するため、当サイトでは誰でも見られる確認用ページを新設・放置する方法を勧めません。
4.Docker:稼働中の対象コンテナを確認する
Docker管理者向けの確認例です。PHP_CONTAINERを、対象サイトのPHPを動かしている既存のコンテナ名またはIDに置き換えてください。Docker公式のexecは稼働中コンテナ内でコマンドを実行します。次の例には、そのコンテナ内でphpコマンドを使えることが必要です。
docker exec PHP_CONTAINER php -vここでもCLI版の確認結果です。phpが入っていない、コンテナが停止している等で失敗した場合は、管理者に対象の実行環境を確認してください。当サイトの確認方針として、ホスト側の版やイメージのタグ名だけで完了とせず、対象サイトが使う稼働中環境と配布元の修正情報を照合します。Web側の確認は前節と同じです。更新や再作成の具体手順は各環境の管理者・配布元の手順に従ってください。
5.版が分かったら、配布元の修正情報と照合する
PHP公式のサポート中かどうかと、特定の脆弱性が修正されているかは別の確認です。さらに、例えばUbuntuは既存系列へ修正を取り込むバックポートでセキュリティ更新を提供します。上流のPHPの版番号だけで、OSパッケージの修正済み・未修正を判定しないでください。Ubuntuの説明を、すべての配布元の同一方針として一般化することもしません。
- ✓確認対象の脆弱性を決め、その配布元の公式アドバイザリを開く。
- ✓自分のOS・契約サービス・配布元・パッケージの完全な版を、告知の対象と照合する。
- ✓更新が必要なら、その環境の公式手順で適用する。再起動やプロセスの入れ替えが求められている場合は、その完了も確認する。
- ✓更新後、同じ対象サイト・実行環境で再確認し、確認日時と根拠の告知を記録する。
- ✓修正済みと照合できなければ、結果を「未確認」として管理者・配布元へ問い合わせる。版が見つからないことを「対象外」の根拠にしない。
管理者・事業者へ問い合わせるときの確認項目
次は当サイトの問い合わせ用チェックリストです。契約ドメイン等の情報は正式なサポート窓口へ送り、パスワード・トークン・設定ファイル全文を添付しないでください。
- ▸対象ドメイン・契約プラン・確認日時。
- ▸確認したい脆弱性の識別子または公式告知URL。
- ▸Web側で実際に動くPHPの版・実行方式・配布元は何か。
- ▸修正は適用済みか。根拠となるパッケージ版や対応告知、反映日時は何か。
- ▸自分で版の切り替えや再起動等をする必要があるか。
