2022年1月22日土曜日

さよならPHP、WindowsでのPHPのサポートが「2022年11月28日」に完全終了!

 

Microsoft Azure最新機能フォローアップ(132)

「PHP」は、古くから人気のあるWebアプリのためのスクリプト言語です。当初はLinux上のApache Webサーバと組み合わせて利用されることが多かったものの、Windowsの「IIS」でも古くからサポートされていました。2020年11月26日に最新バージョン「PHP 8.0」がリリースされましたが、Microsoftはこのバージョンをサポートする予定はありません。

2021年01月29日 05時00分 公開
[山市良,テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Microsoft Azure最新機能フォローアップ」のインデックス

Microsoft Azure最新機能フォローアップ

IISとPHPの長い付き合い

 「PHP」は、古くからWindowsの「インターネットインフォメーションサービス(IIS)」をWebサーバのプラットフォームとして正式にサポートしてきました。それは、2007年3月にZend TechnologiesがMicrosoftとの技術提携の成果として「FastCGI for IIS」(Zend Core 2.0)を提供したのが始まりです。

 FastCGI for IISは、IIS 5.0(「Windows 2000 Server」に搭載)以降のWindowsプラットフォームを正式にサポートし、IIS 7.0(「Windows Server 2009」に搭載)からはFastCGIモジュールが標準搭載されるようになりました。

 PHPは「Azure App Service」で正式にサポートされているランタイムスタックの一つです。Azure App Serviceでは、公式サポート(Official Support)および拡張サポート(Extended Support)が提供されているPHPのバージョンを、LinuxおよびWindowsのそれぞれについて同様に正式サポートしています(画面1)。

画面1画面1 Azure App Serviceは、公式および拡張サポート期間中のPHPのバージョンをLinuxおよびWindows上で正式にサポートしている

 マイナーバージョンについては、拡張サポートが終了すると、SLA(Service Level Agreement)を維持しながら自動的に後継バージョンに移行してくれます。互換性問題を回避するためには、自動的な移行が実施される前に、テストして手動で後継バージョンに切り替えることをお勧めします(画面2)。

画面2画面2 PHP 7.2を利用している場合は、「2021年2月1日」に自動でアップグレードされる前に、互換性をテストして問題がないかどうかを確認しておくことをお勧めする

MicrosoftはWindows版PHP 8.0をサポートしない

 現在は、WindowsおよびLinux版のPHP 7.2/7.3/7.4が正式にサポートされており、2021年1月時点で新規デプロイできるのはこれらのバージョンに限られます。直近では、「2021年2月1日」にPHP 5.6およびPHP 7.2の拡張サポートが終了します(表1)。

PHPバージョン公式サポート終了日拡張サポート終了日OSサポート
LinuxWindows
PHP 5.62019年1月1日2021年2月1日
PHP 7.02018年12月3日2020年2月1日
PHP 7.12019年12月1日2020年2月1日
PHP 7.22020年11月30日2021年2月1日
PHP 7.32020年12月6日2021年12月6日
PHP 7.42021年11月28日2022年11月28日
PHP 8.02022年11月26日2023年11月26日○(対応予定)×
表1 Azure App ServiceにおけるPHPのサポート状況とサポート期限(2021年1月時点でPHP 8.0には未対応)

 PHP 7.1のWebアプリをデプロイしている場合は、拡張サポート終了日にPHP 7.3にアップグレードされますが、PHP 5.6のデプロイについてはサポート外となり、パッチ未適用の脆弱(ぜいじゃく)性が残ったままになることに注意してください。手動でPHP 7.3以降に移行する必要があります。

 Windows版のPHPを利用している場合は、さらに重要な留意点があります。それは、Microsoftが「PHP 8.0」をWindowsプラットフォーム上でサポートしないということです。この方針は2020年7月に発表されました。

 これは“PHP 8.0のWindows版バイナリが提供されない”ということではありません。PHP 8.0は2020年11月26日にリリースされていますが、PHP for WindowsのWebサイトでPHP 8.0のWindows版バイナリは提供されています。Microsoftは、WindowsのIISやAzure App ServiceなどのクラウドサービスでPHP 8.0をサポートしないということです。

 そのため、Azure App ServiceのアプリでWindows版のPHPを利用している場合は、PHP 7.4の拡張サポートが終了する「2022年11月28日」以降は、未パッチの脆弱性の危険性が存在するままアプリが残ることになります。それまでに、Linux版のPHP 8.0以降に移行するなどの対応が必要になります。

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2020-2021)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

0 コメント:

コメントを投稿