説明
サポート終了済みの 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 の切り替えはバージョン文字列の変更だけでは済まないため、アプリとデプロイ構成も移行してください。