色々なWebサイトで使われているPHPは、バージョン5系のサポートが終了しています。
PHPのサポート期限
バージョン | アクティブサポート | セキュリティサポート |
PHP 7.3 | 2020/12/06 | 2021/12/06 |
PHP 7.2 | 2019/11/30 | 2020/11/30 |
PHP 7.1 | 2019/12/01 | |
PHP 7.0 | ||
PHP 5.6 | ||
PHP 5.5 以前 | サポート終了 | サポート終了 |
詳細な情報は、PHP公式サイトを参照ください。
それぞれのOS(ディストリビューション)では、yum や apt パッケージ管理により、セキュリティパッチをサポートしている場合もありますが、時間がかかる場合があるので注意が必要です。
古いPHPを使い続けた場合、セキュリティ対策ができずサイトが安全では無い状態になります。
PHPをアップグレードする3つの方法
PHPを新しいバージョンにアップグレードするには、3つの方法があります。
最新のOSに更新してPHPのバージョンも上げる
サーバーの交換・更新が出来る場合には、最新のOSにアップグレードしてPHPのバージョンを上げてしまう方法があります。
この方法は、確実にサポートされているPHPに更新できるため安全です。
OSのパッケージで新しいPHPに更新
RedHatやCentOS,Ubuntuなどでは、PHP 7.1や7.2,7.3へアップグレードするためのパッケージが用意されている場合があります。
しかし、OSのバージョンが古い場合には、アップグレードパッケージが用意されていない場合もあります。
サーバー/OSが変えられない場合の最終的な更新方法
サーバーの変更も出来ない、OSのアップグレードも出来ない場合には、ソースコードからの更新となります。
レンタルサーバーやホスティングサービスの場合
これらの3つの方法でPHPのバージョンアップができますが、レンタルサーバーやホスティングサービスでは個別にPHPのバージョンを上げることができない可能性があります。
PHPのバージョンは、レンタルサーバー会社のサーバー単位で管理されていますので、レンタルサーバー会社に依頼することとなります。
PHP アップグレードの実際
弊社では、PHP 5.6のサポート終了にともない、PHPアップグレード作業のご相談をいただいております。
サーバーの状態やOSのバージョンなどを確認させていただき対応を決定していますが、おおよそ以下のような流れとなります。
ケース1. OSが比較的新しくサポートパッケージがある場合
OSが比較的新しく、OSによるPHP更新のプログラムがある場合、PHPに関係するサイトのバックアップを実施し更新プログラムでPHPを新しいバージョンに更新します。
ケース2. OSが古くサポートパッケージが無い場合
OSのサポートが終わっていないものの、サポートパッケージでPHPの更新プログラムが存在しない場合。
OSのサポート終了までにサーバーの更新の計画を立てていただき、それまでの間をつなぐためにソースコードによるPHPの更新を実施しています。
ケース3. OS自体がサポート終了している場合
PHPをソースコードからコンパイルして対応もできますが、OSのサポートが終了しているためセキュリティ対策などでも不安が残ることになります。
基本的には新しいOS/サーバー環境への更新をお勧めしております。
ケース4. レンタルサーバーなどでPHP更新ができない場合
レンタルサーバー会社にお問い合わせの代行などを行い、更新が可能であれば更新を依頼しております。
更新が出来ない場合には、新しい環境への移行・再構築をお勧めしております。
ここであげた4つの更新パターンは、WebサイトのサーバーやOSなど環境を確認した上で、いちばんリスクの少ない方法をご提案させていただいております。
PHPアップグレード実績例
- RedHat 5 / php5.3 → PHP7.3
- ソースコードからのコンパイル,OpenSSL,Apache httpdソースコードでの更新
- Cent OS 5 / php5.4 → PHP 7.1
- ソースコードからのコンパイル,OpenSSL,Apache httpdソースコードでの更新,ライブラリの更新と追加
- Cent OS 5 / php5.4 → PHP 7.3
- ソースコードからのコンパイル,OpenSSL,Apache httpdソースコードでの更新,ライブラリの更新と追加
- Cent Os 6 / php5.6 → PHP 7.3
- サポートパッケージによる更新
- Cent OS 7 / php5.6 → PHP 7.3
- サポートパッケージによる更新
OSのバージョンアップのパターン
残念ながらPHPのソースコードのアップデートをおすすめできず、OSのバージョンアップをおすすめしている場合があります。
もしOSが 32bit版(i386) OSの場合にはバージョンにかかわらず、64bit版の新しいOSへのバージョンアップをおすすめしております。