Skip to content

PHP version updates#343

Merged
lmakarov merged 9 commits intodevelopfrom
feature/php-versions
Feb 2, 2026
Merged

PHP version updates#343
lmakarov merged 9 commits intodevelopfrom
feature/php-versions

Conversation

@lmakarov
Copy link
Member

@lmakarov lmakarov commented Feb 2, 2026

  • Dropped PHP 8.1 (EOL as of 2025.12.31)
  • Added PHP 8.5 (closes PHP 8.5 #342)
    • OPcache is now included in PHP/upstream image since PHP 8.5
    • MSSQL PHP client not available yet for PHP 8.5
  • Disabled Platform.sh integration tests
  • PHP version bumps
    • PHP 8.2.30
    • PHP 8.3.30
    • PHP 8.4.17
  • Suppressed docker build false positives for SecretsUsedInArgOrEnv

Summary by CodeRabbit

  • New Features

    • Added PHP 8.5 support and preload configuration for PHP opcache.
  • Documentation

    • Updated supported PHP versions (removed 8.1, added 8.5) across docs and release listings.
  • Chores

    • Bumped base images and CI/CD PHP version matrix; updated packaged PHP extensions and Terminus/environment notes for PHP 8.5.
    • Minor maintenance comments and metadata updates in build artifacts.
  • Tests

    • Platform integration test now skips unconditionally; test module lists adjusted.

MSSQL PHP client not available yet for PHP 8.5
TODO: Figure out why these tests fail, then re-enable
- PHP 8.2.30
- PHP 8.3.30
- PHP 8.4.17
opcache is now included in PHP/upstream image since PHP 8.5
@coderabbitai
Copy link

coderabbitai bot commented Feb 2, 2026

📝 Walkthrough

Walkthrough

Bumps CI PHP matrix and LATEST_VERSION up one minor release (shifting 8.1–8.4 → 8.2–8.5), updates multiple Dockerfiles (base images, comments, ARGs), adds an 8.5 flavor (image, Makefile, tests, opcache preload), updates README tags, and adds an unconditional skip in a Platform.sh integration test. No public API changes.

Changes

Cohort / File(s) Summary
CI/CD Workflow
.github/workflows/default.yaml
Bumps LATEST_VERSION and shifts all CI build/test/push PHP matrix entries up one minor version (8.1→8.2 … 8.4→8.5); updates push strategy.
Base Image Updates (8.2–8.4)
8.2/Dockerfile, 8.3/Dockerfile, 8.4/Dockerfile
Patch-level PHP base image upgrades; add Dockerfile syntax/check directives and ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE; only comment/annotation changes around ENV and SSH settings.
PHP 8.5 Addition
8.5/Dockerfile, 8.5/Makefile, 8.5/tests/php-modules.sh
Adds PHP 8.5 image (php:8.5.2-fpm-bookworm), introduces secrets-skip/ARG handling, modifies installed extensions (add ftp, remove opcache), comments out MSSQL extensions, adjusts Terminus pins/flags, sets VERSION ?= 8.5 in Makefile, and updates php-modules lists (remove pdo_sqlsrv/sqlsrv; add random, lexbor, uri).
PHP OpCache Preload config
8.2/config/php/opcache.ini, 8.3/config/php/opcache.ini, 8.4/config/php/opcache.ini, 8.5/config/php/opcache.ini, tests/.docksal/etc/php/preload.php
Adds opcache.preload_user=docker across versions and a preload configuration for 8.5 with opcache.preload path; adds test preload.php comments.
Documentation and Tests
README.md, tests/test.bats
Updates stable/edge README tags to remove 8.1 and add 8.5 variants; inserts an unconditional skip at the start of the Platform.sh integration test.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • version bumps #338 — Overlapping base PHP image and tooling/version bumps (e.g., Terminus) in Dockerfiles.
🚥 Pre-merge checks | ✅ 3 | ❌ 2
❌ Failed checks (2 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'PHP version updates' is vague and generic, referring to version updates broadly without specifying the main changes: dropping PHP 8.1, adding PHP 8.5, and patching intermediate versions. Consider a more specific title like 'Add PHP 8.5 support and drop PHP 8.1' to clearly convey the primary changes.
Out of Scope Changes check ❓ Inconclusive Several changes appear out-of-scope: disabling Platform.sh integration tests and suppressing Docker build false positives lack explicit justification in issue #342 requirements. Document why Platform.sh integration tests were disabled and confirm the false positive suppressions align with project standards.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed The PR addresses issue #342 by adding PHP 8.5 support with proper configuration, version bumps, and handling of missing MSSQL extensions, fulfilling the main objective to provide PHP 8.5 support in Docksal.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/php-versions

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
8.5/tests/php-modules.sh (1)

40-41: ⚠️ Potential issue | 🟠 Major

Remove MSSQL modules from amd64 test list for PHP 8.5.

The 8.5/Dockerfile has pdo_sqlsrv and sqlsrv commented out (lines 151-152), but they remain in the amd64 module list at lines 40 and 55. The arm64 list correctly excludes these modules. Remove them from the amd64 list to prevent test failures on amd64.

🧹 Nitpick comments (2)
tests/test.bats (1)

336-341: Disabled test acknowledged; consider tracking the TODO.

The unconditional skip aligns with the PR objectives. The TODO comment at lines 340-341 is noted. Consider opening a tracking issue to ensure the investigation and re-enablement of Platform.sh integration tests is not forgotten.

Would you like me to help draft a GitHub issue to track the investigation and re-enablement of the Platform.sh integration tests?

8.5/Dockerfile (1)

150-152: Consider documenting the MSSQL limitation in README.

The MSSQL extensions are correctly commented out pending availability for PHP 8.5. However, the README (line 51) still lists MSSQL as an available database driver without mentioning the PHP 8.5 exception. Consider adding a note to the README about this limitation for users selecting the PHP 8.5 image.

@lmakarov lmakarov merged commit 5347952 into develop Feb 2, 2026
21 checks passed
@lmakarov lmakarov deleted the feature/php-versions branch February 2, 2026 13:42
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.

PHP 8.5

1 participant