Repository navigation
PHP 8.6: Restore memcached and add debug images - #102
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The new smoke check does not enforce required extensions and cannot catch the documented stale-base regression.
1 open finding
What changed in this PR
Restores memcached for PHP 8.6 RC and adds the Xdebug/SPX debug image tracked by #100.
Changes:
- Re-enables memcached using its development branch.
- Adds build, tags, tests, and publishing for
8.6-rc-debug. - Documents temporary RC dependencies and compiler workarounds.
| File | Description |
|---|---|
php/Dockerfile-8.6 |
Restores memcached in the Apache image. |
php/Dockerfile-8.6-cli |
Restores memcached in the CLI image. |
php/Dockerfile-8.6-debug |
Adds the Xdebug/SPX debug image. |
php/build-php-8.6.sh |
Builds, tests, tags, and pushes debug images. |
test-php.sh |
Adds the debug image to the test suite. |
README.md |
Documents PHP 8.6 RC capabilities and tags. |
build-notes.md |
Records temporary dependencies and cleanup requirements. |
CLAUDE.md |
Updates project build and testing guidance. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This was referenced Oct 13, 2026
# Conflicts: # php/Dockerfile-8.6 # php/Dockerfile-8.6-cli
jakubboucek
force-pushed
the
update-php
branch
from
October 13, 2026 11:48
cf7bd68 to
8a9c70f
Compare
Use stable NEON 3.4.8 and validate recursive conditions, exact exceptions and rule conflicts. Derive the variant from DEVSTACK_IMAGE and the version from PHP, without a profile allowlist. Report missing and unexpected modules without skipping the inventory check. Validated rule behavior for future versions, nested conditions, exceptions and malformed data. Full suites passed in all 15 maintained image variants; negative container probes rejected wrong variants and missing identity. PhpStorm inspections reported no warnings.
Run all configured tags or one requested tag through test-php.sh, passing DEVSTACK_IMAGE and aggregating failures. Invoke the same suite from all maintained PHP build scripts before push, preserving NO_TEST. Mount tooling read-only and document the NEON contract; keep investigation notes ignored. All ten real build test phases passed with NO_PULL=1 NO_BUILD=1 NO_PUSH=1. Mocked Docker checks confirmed that failed tests prevent any push, successful tests precede push, and NO_TEST bypass works. No images were rebuilt or published.
tests: enforce PHP extension inventories before publishing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

PHP 8.6 RC images regain a working PIE installer and memcached extension, and gain a complete
8.6-rc-debugvariant with Xdebug and SPX. Stable PHP image definitions remain unchanged.dev-master, which contains PHP 8.6 API fixes absent from 3.4.0.^3.6@alpha(verified with 3.6.0alpha1) and SPX0.5.x-dev, including debug build/tag/push steps and the test runner entry.Compatibility decisions
NO_PULL=1.v0.5branch (upstream #349); stable 0.4.22 anddev-masterdid not support 8.6 during validation.-Werror;-Wno-error=old-style-declarationkeeps that warning non-fatal. Its strict C11 mode conflicts withtypeofin PHP headers, so-Dtypeof=__typeof__uses the equivalent GNU spelling. Separately,CI=truedisables-march=nativefor portable amd64 images.syntaxdirective.Validation
Original validation on PHP 8.6.0RC3, before the separate mbstring fix (#103):
NO_PUSH=1.Addresses the RC functionality items in #100; the stable transition remains outstanding. Follows #99.
The build smoke checks print loaded modules but do not enforce an expected inventory; functional extension tests may skip absent modules. The inventory checker is a separate
php-test-extfollow-up, not part of this PR. Stable dependency selection, removal of RC compiler workarounds and release verification are tracked in #100.