Skip to content

PHP 8.3 compatibility#24

Merged
falkenhawk merged 6 commits intomasterfrom
php83-compat
Apr 1, 2026
Merged

PHP 8.3 compatibility#24
falkenhawk merged 6 commits intomasterfrom
php83-compat

Conversation

@falkenhawk
Copy link
Copy Markdown
Member

@falkenhawk falkenhawk commented Apr 1, 2026

ensure PHP 8.3 compatibility.

  1. fix dynamic property deprecation warning on Framework_AssertTest::$html (cherry-picked from PHP 8.2: Dynamic Properties are deprecated #18)

  2. add PHP 8.3 to CI matrix, update actions/checkout v2 → v3

  3. move PEAR from composer dependency to pear CLI, switch to composer v2.
    the composer v2 packagist version of pear/pear requires PHP 5.4+, and the PHP 5.3-compatible version previously installable via composer v1 is no longer available since packagist dropped composer v1 support (see discussion in Switch PEAR dependency to github #20).
    In the CI workflow, PEAR is now installed via pear CLI provided by setup-php. Locally, .phpt tests skip gracefully when PEAR is not available.

  4. update README with PHP 8.3 compat range

  5. fix PHP 8.3 deprecations in GlobalState:

    • ReflectionProperty::setValue() single-arg form deprecated for static properties - use two-arg form with null
    • blacklist _PEAR_Config_instance from globals backup/restore to avoid dynamic property deprecation when unserializing PEAR_Registry objects
  6. enable deprecation reporting on CI (error_reporting=E_ALL) - setup-php defaults to production ini which excludes E_DEPRECATED

@falkenhawk falkenhawk marked this pull request as draft April 1, 2026 13:57
@falkenhawk falkenhawk marked this pull request as draft April 1, 2026 13:57
@falkenhawk falkenhawk marked this pull request as ready for review April 1, 2026 15:20
@falkenhawk falkenhawk merged commit 82fb513 into master Apr 1, 2026
26 checks passed
@falkenhawk falkenhawk deleted the php83-compat branch April 2, 2026 11:40
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