Improved behavior for installation of PHP platform packages

Change effective on 11 February 2022

Building upon the recent move to Composer 2 for the installation of platform packages for PHP apps, the manner in which Heroku’s PHP Support handles so-called “polyfill” packages during dependency resolution has been made fully consistent with how Composer treats them during regular user installs.

If a polyfill package declares a native PHP extension as provided, this is now always honored during dependency resolution; previously, the behavior differed between extensions bundled with PHP and third-party extensions.

To maximize performance and compatibility, Heroku’s PHP Support will attempt to install native versions of PHP extensions provided by userland polyfills whenever possible, without modifying the already selected set of installed platform packages.

For more information, refer to the section on the treatment of userland extension polyfills in the Heroku PHP Support article on Dev Center.