Skip to content

chore: update App Engine sample runtimes to PHP 8.3 and Composer constraints to 8.2+ - #2339

Open
s-deitz wants to merge 1 commit into
mainfrom
fix/priority-1-php83-runtimes
Open

s-deitz wants to merge 1 commit into
mainfrom
fix/priority-1-php83-runtimes

Conversation

@s-deitz

@s-deitz s-deitz commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Summary

PHP 8.1 and earlier runtimes have reached End of Support and do not receive upstream security fixes for CVE-2026-109618 and CVE-2026-109619.

This PR updates the active sample runtime configurations and Composer platform constraints across the repository off legacy PHP < 8.2 runtimes (while deprecated/unreferenced appengine/flexible/drupal8, appengine/flexible/laravel, and run/laravel samples are removed separately in #2341):

  1. App Engine Standard app.yamls (13 files + README): Update runtime: php81 to runtime: php83 across appengine/standard/* and pubsub/app/app.yaml.
  2. App Engine Flexible app.yamls (12 files): Add operating_system: ubuntu22 and runtime_version: 8.3 under runtime_config: across appengine/flexible/*, cloud_sql/{mysql,postgres}/pdo/app.flex.yaml, and endpoints/getting-started/app.yaml (matching the existing Flex samples updated in chore: Update some PHP GAE Flex samples to use newer runtimes #2019).
  3. composer.json PHP version constraints (9 files): Update minimum PHP version requirements from ^7.1.3 / >= 7.2 / >= 8.1 / ^8.1 to >= 8.2 / ^8.2 in testing/composer.json, functions/*, cloud_sql/*/pdo, and appengine/standard/symfony-framework.

@s-deitz
s-deitz requested review from a team as code owners October 22, 2026 19:40
@product-auto-label product-auto-label Bot added the samples Issues that are directly related to samples. label Oct 22, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request upgrades the PHP runtime and version constraints to PHP 8.3 (and PHP >= 8.2 in composer.json files) across various App Engine flexible/standard environments, Cloud SQL, Cloud Functions, and Cloud Run configurations. Feedback highlights critical compatibility issues: Drupal 8 does not support PHP 8.2 or 8.3, meaning the Drupal 8 sample should be upgraded to Drupal 10 or removed. Additionally, Laravel 9 does not officially support PHP 8.3, so the PHP version constraint in run/laravel/composer.json should be restricted to ~8.2.0 or the Laravel framework should be upgraded to version 10.

Comment thread appengine/flexible/drupal8/app.yaml Outdated
Comment on lines +6 to +7
operating_system: ubuntu22
runtime_version: 8.3

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Drupal 8 reached End of Life (EOL) in November 2021 and does not support PHP 8.2 or PHP 8.3 (it only supports up to PHP 7.4/8.0). Running Drupal 8 on PHP 8.3 will result in numerous fatal errors and compatibility issues. Since PHP 8.1 and earlier are EOL, the Drupal 8 sample should be upgraded to Drupal 10 to support PHP 8.2+, or removed if it is no longer maintained.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed.

Comment thread run/laravel/composer.json Outdated
"license": "MIT",
"require": {
"php": "^8.1",
"php": "^8.2",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The project uses Laravel 9 ("laravel/framework": "^9.19"), which does not officially support PHP 8.3. Since "php": "^8.2" allows PHP 8.3, this can lead to runtime compatibility issues when deployed to environments running PHP 8.3. Consider upgrading the Laravel framework dependency to ^10.0 (which officially supports PHP 8.3) or restricting the PHP version constraint to ~8.2.0 if upgrading is not feasible.

Suggested change
"php": "^8.2",
"php": "~8.2.0",

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated (and removed some Laravel samples).

@s-deitz
s-deitz force-pushed the fix/priority-1-php83-runtimes branch from 7d4e650 to 2536243 Compare October 22, 2026 21:23
@s-deitz
s-deitz force-pushed the fix/priority-1-php83-runtimes branch from 2536243 to 6f792ac Compare October 22, 2026 22:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

samples Issues that are directly related to samples.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant