Skip to content

[TASK] Add PHP 8.6 preview images on Debian trixie and Alpine - #594

Draft
Kanti wants to merge 1 commit into
webdevops:masterfrom
andersundsehr:ccr-0d93296f-2pkfit
Draft

Kanti wants to merge 1 commit into
webdevops:masterfrom
andersundsehr:ccr-0d93296f-2pkfit

Conversation

@Kanti

@Kanti Kanti commented Nov 6, 2026

Copy link
Copy Markdown
Collaborator

Add webdevops/php, php-dev, php-nginx, php-nginx-dev, php-apache and php-apache-dev 8.6 (Debian and Alpine) based on the official PHP 8.6 release candidate images.

  • Debian 8.6 uses trixie: GD in PHP 8.6 needs libavif >= 1.0.0, which bookworm does not ship. PHP 8.2-8.5 stay on bookworm.
  • The official 8.6 images no longer bundle mbstring; build it with oniguruma.
  • vips and xmlrpc are not built for PHP 8.6: both are abandoned upstream and do not build against 8.6. They remain in the 8.2-8.5 images.
  • Install the memcached runtime library explicitly; on trixie it was removed together with the purged dev packages.

Temporary workarounds until upstream releases support PHP 8.6 (marked "TODO PHP 8.6"):

  • release candidate base images; the version test accepts RCs for 8.6
  • apcu, excimer, memcached, yaml and redis from their development branches via PIE
  • amqp from the unmerged fix fix build with PHP 8.6.0alpha2 php-amqp/php-amqp#638 (pinned commit)
  • protobuf: replace the removed zval_dtor() alias
  • Xdebug from the 3.6 pre-releases
  • no Tideways in the Debian 8.6 dev images: tideways-php 5.47.0 crashes PHP 8.6.0RC4 (ZTS) on startup
  • Alpine dev images install the Blackfire probe directly: blackfire php:install picks the glibc probe on Alpine with ZTS

Template cleanups that avoid new distribution switches (all Debian images):

  • signed-by keyrings for the nginx.org and Tideways repositories instead of apt-key (removed in trixie)
  • bind9-dnsutils and libfreetype-dev instead of transitional packages
  • libc-client packages only for PHP 8.2/8.3 (imap)
  • oniguruma packages installed unconditionally
  • drop unused pre-bookworm branches

@github-advanced-security github-advanced-security AI 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.

SonarCloud found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

Add webdevops/php, php-dev, php-nginx, php-nginx-dev, php-apache and
php-apache-dev 8.6 (Debian and Alpine) based on the official PHP 8.6
release candidate images.

- Debian 8.6 uses trixie: GD in PHP 8.6 needs libavif >= 1.0.0, which
  bookworm does not ship. PHP 8.2-8.5 stay on bookworm.
- The official 8.6 images no longer bundle mbstring; build it with
  oniguruma.
- vips and xmlrpc are not built for PHP 8.6: both are abandoned upstream
  and do not build against 8.6. They remain in the 8.2-8.5 images.
- Install the memcached runtime library explicitly; on trixie it was
  removed together with the purged dev packages.

Temporary workarounds until upstream releases support PHP 8.6 (marked
"TODO PHP 8.6"):
- release candidate base images; the version test accepts RCs for 8.6
- apcu, excimer, memcached, yaml and redis from their development
  branches via PIE
- amqp from the unmerged fix php-amqp/php-amqp#638 (pinned commit)
- protobuf: replace the removed zval_dtor() alias
- Xdebug from the 3.6 pre-releases
- no Tideways in the Debian 8.6 dev images: tideways-php 5.47.0 crashes
  PHP 8.6.0RC4 (ZTS) on startup
- Alpine dev images install the Blackfire probe directly: `blackfire
  php:install` picks the glibc probe on Alpine with ZTS

Template cleanups that avoid new distribution switches (all Debian images):
- signed-by keyrings for the nginx.org and Tideways repositories instead
  of apt-key (removed in trixie)
- bind9-dnsutils and libfreetype-dev instead of transitional packages
- libc-client packages only for PHP 8.2/8.3 (imap)
- oniguruma packages installed unconditionally
- drop unused pre-bookworm branches
@Kanti
Kanti force-pushed the ccr-0d93296f-2pkfit branch from d74cae8 to 72792ba Compare November 11, 2026 14:41
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
E Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants