Skip to content
PHP News
Search
Accepted

Separation of Third-Party Extension Documentation

Moves docs for extensions maintained outside php-src out of the PHP manual to a separate home run by the extension maintainers.

Move third-party extension documentation out of the official PHP manual?

Primary vote · 2/3 majority

26 Yes 1 No 1 abstain 96% approval

This poll has closed.

Where should third-party documentation be hosted?

· 2/3 majority

  • Abstain 6
  • contrib.php.net (subdomain) 8
  • www.php.net/manual/extensions/ (subpath) 15

This poll has closed.

How should existing user notes be handled during migration?

· 1/2 majority

  • Abstain 3
  • Remove notes 21
  • Migrate notes to the new location 4

This poll has closed.

The main vote passed 26 to 1, with 1 abstaining, well above the two-thirds majority it needed. Voting closed on July 3, 2026.

Two secondary votes needed a simple majority:

  • Where the docs live: www.php.net/manual/extensions/ won 15 to 8 over contrib.php.net, with 6 abstaining.
  • User notes: removing the existing user notes won 21 to 4 over migrating them, with 3 abstaining.

Summary

The PHP manual documents the language itself, but it also documents a long list of extensions that live outside php-src, like imagick, redis, mongodb and memcached. This RFC from Jordi Kroon moves the documentation for those third-party extensions out of the main manual and into a separate home run by their maintainers.

Why change it

Right now the PHP docs team maintains pages for code it doesn't own. That makes it hard to verify facts, and changes can sit in review for a long time. Some extension maintainers don't respond, and some have abandoned their extensions entirely. Keeping these pages in the official manual also suggests the extensions are part of PHP when they aren't.

The people who write an extension know it best, so the RFC hands its documentation to them.

What the RFC does

  • Bundled extensions stay put. Extensions that ship with PHP, like ext/pdo, ext/curl and ext/mbstring, remain in the manual.
  • Third-party extensions move. Around 80 are on the list, plus removed extensions like mcrypt and ext/mysql.
  • Same tooling. The new docs use the same build tools as the manual and live in one shared repository, with a folder per extension.
  • Maintainers own their docs. Extension maintainers can get commit access, and anyone can still open a pull request.
  • English only. Translations don't move over and are removed from the manual.
  • Old links redirect to the new pages where possible.
  • Unmaintained docs can be archived by the docs team, with a notice on the page.

The migration is a straight copy. Pages move one to one with no rewrites, and the docs team handles the work one extension at a time.

What it means for you

Your code doesn't change. If you read the docs for a third-party extension, you'll find them at a new address. If you read them in a language other than English, that translation goes away. And if you want to fix those docs, you'll send changes to the new repository instead of the main manual.