Skip to content

build: upgrade to PHP 8.5#596

Open
kayjoosten wants to merge 4 commits into
mainfrom
feature/php-8-5-upgrade
Open

build: upgrade to PHP 8.5#596
kayjoosten wants to merge 4 commits into
mainfrom
feature/php-8-5-upgrade

Conversation

@kayjoosten

@kayjoosten kayjoosten commented Jun 2, 2026

Copy link
Copy Markdown

Summary

  • Bump PHP requirement in composer.json from ^8.2 to ^8.5
  • Update platform override and composer.lock to PHP 8.5
  • Switch all container images to php85-apache2-node24:latest
  • Update CI workflow, Dockerfiles, Scrutinizer, and build action

Notes

Rector dry-run confirmed zero code changes required codebase already PHP 8.5 compatible.

Test plan

  • CI passes on this branch (test-integration workflow uses new php85 image)
  • Verify composer install works in the new container

Mockery 1.7.x-dev has two methods with implicit nullable typed params
(array $arguments = null, array $objects = null) that trigger E_DEPRECATED
in PHP 8.4+. In RunInSeparateProcess tests, PHP subprocesses start with
default error_reporting, causing these notices to appear on STDERR before
the test result, which PHPUnit treats as test errors.

Fix: add a post-install/update script that patches the two signatures in
Mockery.php. Also suppress E_DEPRECATED in test bootstrap and update
phpunit.xml to PHPUnit 10 schema with source filtering.
Scrutinizer's auto-detected test runner (php-scrutinizer-run) fails
with PHP 8.5. Specify the test command explicitly so it uses the
project phpunit.xml with correct error_reporting and bootstrap.
@kayjoosten

Copy link
Copy Markdown
Author

As discussed ignore the Scrutinizer it's not a mandatory check anyway so we can merge after review.

@kayjoosten kayjoosten requested a review from johanib June 10, 2026 09:06
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.

1 participant