James Titcumb has opened a discussion on a new PHP RFC to sunset PECL. It proposes making pecl.php.net read-only in mid-2027 and shutting it down on December 31, 2029. After that, you'd install extensions with PIE.

The RFC builds on a decision from 2025. That year, voters accepted the Recommend PIE and deprecate PECL RFC. That RFC deprecated PECL in messaging only and left the website and the CLI tool running. It also called for a follow-up RFC with a removal timeline, and the new RFC is that follow-up. It describes PIE as stable and maintained by the PHP Foundation. For the longer backstory on PECL's parent project, see The History of PEAR, PHP's First Package Manager.

The RFC sets dates on the calendar instead of tying the shutdown to PHP releases.

The Proposed Timeline

  • Jan 04: A banner on the PECL site announces the read-only date and tells extension authors how to migrate to PIE.
  • Jun 30: pecl.php.net goes fully read-only. Nobody can log in, and nobody can upload new releases.
  • Sep 03: A 3-hour brownout.
  • Oct 01: A 6-hour brownout.
  • Nov 05: A 24-hour brownout.
  • Dec 03: A 3-day brownout, running through December 6.
  • Dec 31: The PECL website shuts down. The PECL tool and website git repositories then get archived.

The brownouts are there to catch anyone who missed the announcements. The RFC also asks the project to watch mailing lists and GitHub issues during that period and to share shutdown details there. This RFC doesn't cover removing PECL from php-src, because the End PEAR endorsement RFC already handled that.

What Extension Maintainers Would Need to Change

The RFC's impact section lists two dates for extension authors:

  • From June 30, 2027, you can't publish new PECL releases.
  • From December 31, 2029, PECL can't install any extension that hasn't moved to PIE.

If you maintain an extension that ships only through PECL, you'd need a PIE package before mid-2027 to keep releasing. Packagist lists the extensions that already support PIE on its extensions page. The PIE repository has the documentation for now, and the January 2027 banner would point authors to migration steps.

What Changes in Your Build Scripts

PECL will stop working.

PIE must be used going forward.

If a Dockerfile, CI config, or provisioning script runs pecl install, it would fail once the site shuts down, and during each brownout before that.

Some Docker users have already run into this. The official PHP Docker images stopped shipping PECL with PHP 8.6 after docker-library/php#1654 was merged on June 25, 2026. The same change stopped compiling mbstring into the 8.6 images, so you'll need to add docker-php-ext-install mbstring if your app uses it. In the thread, Tim Düsterhus pointed out that the proposed timeline lines up with the end of life of PHP 8.5, so no supported Docker image would still depend on PECL when it shuts down.

Older PHP versions came up too. Jakub Zelenka asked the RFC to mention that PIE ships as a binary, so you can run it on older PHP versions. Titcumb replied that the binary is still marked experimental, said he'd add a note, and suggested dropping the flag, since "it does indeed help that pre-PHP 8.1 issue."

Discussion on the List

Rowan Tommins raised a concern about how long PECL would sit read-only before it shuts down:

In the current environment, two and a half years seems a long time to serve something nobody can patch.

He proposed two changes. The first was a longer restricted stage before full read-only, for example allowing patch releases to existing series while forcing new minor versions onto PIE, or blocking packages from listing support for new PHP versions. The second was a process that lets a few trusted users upload security releases for maintainers.

Derick Rethans replied that PECL already blocks new package registrations. He said the version and compatibility restrictions would mean changing the peclweb code, which he described as "decades behind the times." He suggested shortening the read-only period by a year and shutting the site down a year earlier.

You can read the full RFC on the PHP wiki and follow the discussion thread on externals.io for all the updates.