Click here for English Version.
Click here for Chinesse Version.
「PHP」は、古くから人気のあるWebアプリのためのスクリプト言語です。当初はLinux上のApache Webサーバと組み合わせて利用されることが多かったものの、Windowsの「IIS」でも古くからサポートされていました。2020年11月26日に最新バージョン「PHP 8.0」がリリースされましたが、Microsoftはこのバージョンをサポートする予定はありません。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
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)。
マイナーバージョンについては、拡張サポートが終了すると、SLA(Service Level Agreement)を維持しながら自動的に後継バージョンに移行してくれます。互換性問題を回避するためには、自動的な移行が実施される前に、テストして手動で後継バージョンに切り替えることをお勧めします(画面2)。
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サポート | |
---|---|---|---|---|
Linux | Windows | |||
PHP 5.6 | 2019年1月1日 | 2021年2月1日 | ○ | ○ |
PHP 7.0 | 2018年12月3日 | 2020年2月1日 | ○ | ○ |
PHP 7.1 | 2019年12月1日 | 2020年2月1日 | ○ | ○ |
PHP 7.2 | 2020年11月30日 | 2021年2月1日 | ○ | ○ |
PHP 7.3 | 2020年12月6日 | 2021年12月6日 | ○ | ○ |
PHP 7.4 | 2021年11月28日 | 2022年11月28日 | ○ | ○ |
PHP 8.0 | 2022年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以降に移行するなどの対応が必要になります。
0 コメント:
コメントを投稿