Table of Contents

PHP RFC: Separation of Third-Party Extension Documentation

Introduction

The PHP manual currently contains documentation for both PHP itself and numerous independently maintained third-party extensions.

While these extensions are maintained outside of php-src, their documentation is maintained within the official PHP documentation repositories and infrastructure. This creates ambiguity regarding ownership and maintenance responsibilities for documentation quality, issue triage, translations, and technical correctness.

This RFC proposes separating third-party extension documentation from the official PHP manual while continuing to use the existing documentation tooling and infrastructure.

Definitions

For the purposes of this RFC:

Proposal

Accept a policy to separate documentation for independently maintained third-party extensions from the official PHP manual.

To summarize the policy from a high-level perspective, the policy specifies:

Bundled extensions such as ext/pdo, ext/reflection, and other extensions distributed as part of php-src are explicitly out of scope for this RFC and remain part of the official PHP manual.

Extensions Affected

The following extensions are currently documented in the official PHP manual but maintained outside php-src. This list is indicative and will be finalized during implementation:

Extensions Affected

The following extensions are currently documented in the official PHP manual but maintained outside php-src. This list is indicative and will be finalized during implementation.

Third-party extensions

Extensions removed from php-src but still documented

These extensions were previously bundled but have since been removed or moved to PECL. Their documentation will be migrated together with the active third-party extensions, unless decided to archive them:

Motivation

Clear Separation Between PHP and Third-Party Extensions

Including third-party extensions within the official PHP manual creates ambiguity regarding whether an extension is officially part of PHP itself.

Separating third-party extension documentation makes it clearer to users that these extensions are independently maintained ecosystem projects rather than bundled PHP functionality.

Responsibility Alignment

Third-party extensions are maintained independently from PHP itself, but their documentation is currently maintained within the official PHP documentation repositories.

This creates unclear expectations regarding:

Separating third-party extension documentation aligns documentation ownership with extension maintainership.

Documentation Maintenance Burden

Including third-party extensions in the official documentation repositories increases maintenance and translation burden for the PHP documentation team. Changes often take long to land because fact-checking them is difficult without owning the extension, and extension maintainers are not always responsive or may abandon the extension entirely.

Extension maintainers are generally the people most familiar with extension behavior and are therefore better positioned to maintain accurate documentation.

Backward Compatibility

The intention is to minimize disruption for users by providing redirects from existing documentation URLs where technically feasible.

However, this RFC changes the location and workflow for maintaining third-party extension documentation. Documentation changes for third-party extensions will no longer be made through the official PHP documentation repositories.

Migration Path

Migration will proceed in two phases:

  1. Infrastructure first: the target repository and hosting location are created and configured before any extension is moved.
  2. Then per-extension: extensions are migrated one by one by the PHP documentation team. Extension maintainers are not required to perform the migration themselves.

For each migrated extension:

Voting Choices

Primary Vote requiring a 2/3 majority to accept the RFC:

Move third-party extension documentation out of the official PHP manual?
Real name Yes No Abstain
Final result: 0 0 0
This poll has been closed.

Secondary Vote (simple majority, only counted if primary passes):

Where should third-party documentation be hosted?
Real name contrib.php.net (subdomain) www.php.net/manual/extensions/ (subpath)
Final result: 0 0
This poll has been closed.

Patches and Tests

Links to proof of concept PR.

If there is no patch, make it clear who will create a patch, or whether a volunteer to help with implementation is needed.

Implementation

After the RFC is implemented, this section should contain:

  1. the version(s) it was merged into
  2. a link to the git commit(s)
  3. a link to the PHP manual entry for the feature

References

Links to external references, discussions, or RFCs.

Rejected Features

Keep this updated with features that were discussed on the mail lists.

Changelog

If there are major changes to the initial proposal, please include a short summary with a date or a link to the mailing list announcement here, as not everyone has access to the wikis' version history.