Problem/Motivation

PHP 8.6 schedule supposed GA release at Nov 19 2026 and the first alpha is out bringing up incompatibilities

- https://wiki.php.net/rfc/deprecate-return-value-from-construct

Steps to reproduce

https://github.com/pear/Archive_Tar/pull/61
https://github.com/phpspec/prophecy/issues/672

    1) /builds/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php(44) : eval()'d code:15
    Returning a value from a destructor is deprecated
    
    Triggered by:
    
    * Drupal\Tests\Core\Cache\DatabaseBackendFactoryTest::testGet#default
      /builds/core/tests/Drupal/Tests/Core/Cache/DatabaseBackendFactoryTest.php:33

Proposed resolution

As CI already running 8.6 and the polyfill is enable, so create child issues when it fails

Remaining tasks

Fix upcoming issues and wait til release date

Patches

- https://github.com/php/php-src/issues/21691
- https://github.com/phpspec/prophecy/pull/673 and PR#68 from alexpott
- https://github.com/pear/Archive_Tar/pull/61
- https://github.com/krakjoe/pcov/pull/133

User interface changes

no

Introduced terminology

no

API changes

no

Data model changes

no

Release notes snippet

Release is compatible with PHP 8.6

Issue fork drupal-3608511

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

andypost created an issue. See original summary.

andypost’s picture

Issue summary: View changes

Fixed prophecy but some jsonapi errors appear, also working on fix for php86 image as it installs nodejs 22 instead of EOL 18

andypost’s picture

Issue summary: View changes

pipeline is green

- nodejs 20 pinned in 8.6 image
- WIP fixes for tests

andypost’s picture

Issue summary: View changes
andypost’s picture

Issue summary: View changes
liam morland’s picture

andypost’s picture

better parent)

btw 8.6 upgraded top alpha 2 and build is fixed

andypost’s picture

Getting new warnings since beta1 so filed #3616553: replace usage of spl_object_hash() with spl_object_id()

using vendor/bin/dr cr I see

PHP Deprecated: Function spl_object_hash() is deprecated since 8.6, consider using spl_object_id() instead in /var/www/html/web/core/lib/Drupal/Component/DependencyInjection/ReverseContainer.php on line 93

PS https://wiki.php.net/rfc/deprecations_php_8_6