PHP 8.2 Pre-Flight Checklist WordPress VIP

VIP is updating WordPress environments to PHP 8.2. These updates are can be performed manually at any time or automatically at a scheduled deadline. There isn’t too much to worry about but it’s always best to prepare.

Fast pre-flight checklist

  1. Run PHPCompatibilityWP against 8.2 on your code and any bundled libraries: phpcs --standard=PHPCompatibilityWP \ --runtime-set testVersion 8.2- \ --extensions=php,inc \ path/to/your/theme path/to/your/plugins (Catches most 8.2-specific issues like dynamic properties and deprecated functions.) Source: WordPress VIP Lobby
  2. Search & fix dynamic properties
    Grep for patterns like ->[a-zA-Z_]\w* = in your classes; add declared properties or __get/__set. Keep #[\AllowDynamicProperties] as a last resort for third-party classes you can’t refactor. PHP.Watch
  3. Replace deprecated encoding helpers
    If you find utf8_encode/decode, switch to mb_convert_encoding() (and ensure ext-mbstring is enabled—VIP has it). PHP
  4. Scan string interpolation
    Replace "${var}" and "${expr}" with "{$var}" / "{$expr}". Zend
  5. Verify vendor/plugin versions
    Ensure composer-managed libs and key plugins (Woo, Jetpack, etc.) are on releases that note 8.2 compatibility. (VIP maintains current Jetpack and posts calls for testing.) WordPress VIP Lobby
  6. Test under 8.2 in a staging/preprod
    • Set WP_DEBUG_LOG and log E_DEPRECATED (but don’t display in prod).
    • Exercise admin screens, checkout flows, your Box Office/participant forms, GraphQL endpoints, and webhook dispatchers—any pathway that instantiates lots of objects (likely to surface dynamic property warnings).
      VIP has published PHP update posts and guidance—use their environment switch to try 8.2 before the platform flip. WordPress VIP Documentation

When you flip to 8.2, watch for…

  • A flood of deprecation notices tied to dynamic properties or deprecated helpers—these won’t crash the site but will clutter logs and can become future fatals if PHP removes them. Fix them proactively. PHP.Watch
  • Strict type errors from older vendor libs; bump the package or pin a version known to support 8.2 per its changelog. PHP