App Service の PHP ランタイムサポート状況の確認

サポート対象の PHP を使い、互換性を確認しながらセキュリティ更新を適用してください。

説明

サポート終了済みの PHP では、セキュリティ修正や技術支援を受けられず、運用リスクが高まる場合があります。単に最大のバージョン番号を選ぶのではなく、App Service と PHP のサポート、更新、アプリの互換性を確認してください。

想定される影響

  • 未修正のランタイム脆弱性が残る可能性があります。
  • フレームワークや依存ライブラリの互換性、運用支援に問題が生じる場合があります。

対処方法

App Service の提供ランタイムとサポート期間を確認し、対応する PHP バージョンを選んでください。現在の Linux Web App では site_config.application_stack.php_version に指定します。アプリと依存関係を試験し、バージョンとサポート状況を定期的に確認してください。

例

最初はサポート終了済みの Windows PHP 構成の過去の例です。現在の App Service の組み込み PHP ランタイムは Linux で使用します。変更後の変数には実際の Linux サービスプラン ID とサポート対象の PHP バージョンを指定してください。

変更前

hcl
resource "azurerm_app_service" "example" {
  name                = "example-app-service"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  app_service_plan_id = azurerm_app_service_plan.example.id

  site_config {
    dotnet_framework_version = "v4.0"
    scm_type                 = "LocalGit"
    php_version              = "7.3"
  }
}

変更後

hcl
resource "azurerm_linux_web_app" "example" {
  name                = "example-app-service"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  service_plan_id     = var.service_plan_id

  site_config {
    application_stack {
      php_version = var.php_version
    }
  }
}

変更後は現在の Linux Web App のランタイムフィールドを使います。リソースと OS の切り替えはバージョン文字列の変更だけでは済まないため、アプリとデプロイ構成も移行してください。

参考資料