ANNAIマガジン
2019年3月6日以降、Drupal 8を利用する場合はPHP7が必要です。
この記事は「 https://groups.drupal.org/node/518200 」の翻訳です。
この記事の目次

Drupal 8.6はPHP 5をサポートする最後のバージョンであり、Drupal 8.7.0がリリースされる2019年3月6日にはサポート対象外となります(8.7.0が2019年3月6日より前にリリースされた場合は、それに応じてリリース番号も変更となりますが、サポート対象外となる日付は変わりません)。

PHPのバージョンのアップグレードについて計画する際は、2017年11月30日にリリースされたPHP 7.2が、PHP 7のより古いバージョンよりも長くサポートされることを念頭に置いて計画してください。

なぜ、PHP 5.5と5.6のサポートが中止されるのか

  • PHP 5.5は、2016年には既に公式に廃止されています。それにより、Drupal 8で使用されるPHPライブラリでも、PHP 5.5のサポートを中止したものが増えています。
  • 2017年1月をもって、PHP 5.6に対するPHPメンテナからの積極的なサポートは終了しています。つまり、Drupalの開発に影響を与える非常に深刻なバグがあっても、もう修正はされていないということです。
  • PHP 5.6はPHP 5の最後のバージョンで、PHPメンテナーはPHP 5.6に対する2年間のセキュリティサポートを2018年12月まで提供する予定です。これはDrupal 8.6のリリース時期よりは後で、Drupal 8.7よりは前のタイミングです。
  • Drupal 8の自動テストではPHPUnitライブラリが必要です。このライブラリは、2018年2月をもってPHP 5.6のサポートを中止します。依存関係にある他のサードパーティについても、最新のバージョンではPHP 5.6をサポートしていないものがあります。
  • DrupalユーザーとDrupal開発者の混乱を最小限に抑えるため、Drupal 8のPHP 5.5とPHP 5.6のサポートは同時に終了します。

PHP 5からPHP 7へのアップグレードには、計画と導入に時間がかかると考えられます。 Drupal 8.7.0のリリース時ではなく、2018年中にPHP 7にアップグレードすることをお勧めします。

PHP 7非対応のホスティングサービスを使用している場合は?

ホスティングプロバイダの大半は既にPHP7を提供しています。もしまだ、提供を開始していないプロバイダを使用されている場合には、いつから利用可能になるかを確認してください。もしプロバイダが2019年3月までに提供を開始しない場合には、私たちがそれらのプロバイダに対して、何らかのサポートを提供できるように、トラッキングイシューに、ホスティングプロバイダへのリンクをコメントとして残してください

自分でホスティングをしている組織で、PHP 5.5をバンドルするUbuntu 14.04を使用している場合は?

Ubuntu 14.04を使用している場合は、下記のような選択肢があります:

  1. 最も望ましい選択肢は、Ubuntu 18.04(2018年4月にリリース予定)へのアップグレードを計画することです。このバージョンがこれから出るバージョンでは最も互換性の高いバージョンになります。
  2. もう一つの選択肢はUbuntu 16.04へアップグレードすることです。これは現時点でもアップグレード可能です。現時点で16.04にアップグレードすることを選択した場合は、数年後に再度、アップグレードする必要があるかもしれません。
  3. 最後の選択肢としては、PHPを別のビルドとしてアップグレードすることも可能です。 OndřejSurýはこのために広く利用されているPPAを提供しています。

Drupal 8はいつPHP 7.0のサポートを中止しますか?

少なくとも2019年3月6日までは、PHP 7.0はサポートされます。Drupal 8のPHP 7.0に対するサポートをそれ以降も継続するかどうか未定ですが、PHP 7.0のサポート終了が決まり次第、アナウンスをする予定です。PHP 7.1以上のバージョンはより長くサポートされるため、PHP 7.1以上にアップデートすることをお勧めします。

Drupal 8のコア開発にどのように影響しますか?

バックポートされる修正は全体の修正の約80%を占めます。そしてDrupal 8.6.xのサポートサイクル期間中、これらの修正はPHP 5.5および5.6に対しても引き続き反映されます。そのため、8.8.xのブランチが2019年始めに開始されるまでは、PHP 7のみを対象とした修正は行われません(2018年に8.8.0がリリースされた場合は、8.9.x)。 8.8.xが開始されると、そのブランチで依存関係にあるライブラリはPHP 7.0に対応したバージョンに更新され、そのブランチのDrupalのコード自体がPHP 7の機能に依存し始めます。(Drupal 8リリースサイクル情報はこちら

現在、PHP 7.2で動作している場合は、PHPUnit 6は自動テストスイートでのみ使用されています。 一方、PHPUnit 4はPHP 5から7.1で使用されています。 Drupal 8.8.xでは、PHPUnit 4のサポートが削除されます。 8.8.xがリリースされる前のどこかのタイミングで、PHP 7.0および7.1はPHPUnit 6を使用する予定です。

これはDrupal 7に影響しますか?

いいえ、Drupal 7は今後もPHP 5.2.4以降に対応し続けます。変更があった場合は別途アナウンスをします。

この記事を書いた人 : Yoshikazu Aoyama

ANNAI株式会社の出社しないCTO。
昔は回線交換やL2/L3のプロトコルスタックの開発をしてました。その後、組み込みLinuxやJava/Ruby on RailsなどのWebシステム開発などを経て現職。
インフラからDrupalのモジュール開発、Drupal以外の開発までなんでもやります。
普段は札幌で猫と一緒にリモートワークしています。 好きなモジュールは Restful Web Services と Rules

関連コンテンツ