レンタルサーバーのPHPバージョンとの向き合い方
レンタルサーバーの管理画面で選べる PHP のバージョンは、 公式のサポートが終わっているものを含むことがあります。 「選べる」ことと「修正が提供され続けている」ことは別です。 自分のバージョンの確認方法と、判断の考え方をまとめています。
管理画面に出ているバージョンが、いま提供されているとは限らない
レンタルサーバーの管理画面には、PHP のバージョンを切り替える設定があります。 そこに並んでいる選択肢は、PHP 公式のサポートが終わったバージョンを含んでいることがあります。
たとえば PHP 7.4 は2022年11月に、PHP 8.0 は2023年11月に、 PHP 8.1 は2025年12月に、公式の提供が終わっています。 それでも管理画面の選択肢に残っていることは珍しくありません。
「選べる」ことと「修正が提供され続けている」ことは別です。
なぜ終わったバージョンが残っているのか
これはレンタルサーバー会社の怠慢とは限りません。
共用サーバーでは、PHP のバージョンを消すと、 そのバージョンでしか動かないサイトが一斉に止まります。 何万件もの利用者を抱える環境で、これは簡単に決められることではありません。
実際、さくらインターネットは「PHPの提供ポリシー」で、 セキュリティサポートが終了したバージョンについても提供を続ける方針であることを明記しています (重大な脆弱性が見つかった場合は予告なく提供を終了する場合がある、という条件つきです)。
つまり、利用者側が自分で判断する必要があるということです。
自分が使っているバージョンを確認する
方法は3つあります。どれか1つで確認できます。
1. 管理画面で確認する
「PHP設定」「PHPバージョン切替」といった項目に、現在の設定が表示されています。 契約先によって名称が違います。
2. SSH で確認する
SSH が使える契約であれば、次のコマンドで確認できます。
php -v
ただし、これは注意が必要です。 コマンドラインの PHP と、Web サイトを動かしている PHP は バージョンが違うことがよくあります。
3. phpinfo で確認する(最も確実)
Web サイトが実際に動いている PHP のバージョンを見るには、この方法が確実です。
公開ディレクトリに次の内容のファイルを置き、ブラウザで開きます。
<?php phpinfo();
確認したらすぐに削除してください。 このファイルはサーバーの構成情報を全部表示するため、 置いたままにすると外部から読まれます。
確認したあとの判断
自分のバージョンが分かったら、そのバージョンのページで期限を確認してください。
| 状態 | 考え方 |
|---|---|
| サポート中 | 何もしなくてよい。期限が近づけば表示が変わる |
| 終了している | 管理画面で新しいバージョンに切り替えられるか確認する |
| 切り替えられない | 契約先の対応を待つか、乗り換えを検討する |
バージョンを上げる前に確認すること
管理画面のボタン1つで切り替えられるため、つい気軽に押してしまいがちですが、 サイトが動かなくなることがあります。
切り替える前に、次を確認してください。
- WordPress を使っている場合、本体・テーマ・プラグインが対応しているか
- 自作のプログラムで、非推奨になった書き方を使っていないか
- 切り戻せるか(多くの管理画面では元のバージョンに戻せます)
バックアップを取ってから切り替えてください。 自動バックアップがある契約でも、直前に手動で取っておくと安心です。
切り替えられない場合
管理画面に新しいバージョンが出てこない場合、できることは限られます。
- 契約先のサポートに問い合わせる — 提供予定を教えてもらえることがあります
- 上位プランを確認する — プランによって提供バージョンが違うことがあります
- 乗り換えを検討する — 提供バージョンが古いままの環境は、他の面でも更新されていない可能性があります
乗り換えにはデータの移行が伴うため、時間に余裕を持って進めてください。
なぜこのページに「各社の対応表」が無いのか
当初、主要なレンタルサーバー各社が提供している PHP バージョンの一覧表を 作ろうとしましたが、断念しました。
理由は、各社が提供バージョンの一覧を公開していないためです。 さくらインターネットは公式に、 利用可能なバージョンはコントロールパネルから確認するよう案内しています。
一覧表を作れば、それは推測か、いつ確認したかも分からない転記になります。 本サイトは出典の無い情報を掲載しない方針なので、作りません。
かわりに、自分で確認する方法をこのページに書きました。 契約先の管理画面が、最も正確で最新の情報源です。