rfc:min_supported_versions_php_8_6

PHP RFC: Minimum supported versions for PHP 8.6

Introduction

This RFC proposes a slate of minimum supported software versions for PHP 8.6.

  • Autoconf 2.71, so that we may reliably require C11 for builds from source.
  • MySQL 5.7.3 and MariaDB 10.2.4 for so that we may use COM_RESET_CONNECTION for persistent connections.

Proposal

autoconf 2.71

The officially documented minimum version of the C standard that is supported by PHP is C11 as of PHP 8.4. This requirement is however not explicitly checked in a programmatic fashion, which means that users trying to build PHP with an older compiler that does not support the C11 standard might encounter non-obvious build failures. The currently used minimum version of autoconf, which is the tool used to generate the ./configure script which is used for feature detection, is 2.68 and does not yet know about C11, preventing it from reliably detecting the minimum requirement and associated features.

We propose increasing the minimum version of autoconf 2.71 from 2.69. The updated version has official support for C11 and also allows to simplify some of the existing autoconf definitions, simplifying maintenance for the PHP Core team.

autoconf is only required when building from git. The official PHP release tarballs contain a pre-generated ./configure script that is generated by the release managers, thus this change does not affect users that build from the official releases. For users that build from git, autoconf 2.71 was released in January 2021 and is available by default in the current stable versions for all common Linux distributions. This includes Debian 12+ (Bookworm), Ubuntu 22.04+ (jammy), RHEL 10, Fedora 38+, Alpine Linux 3.16+, OpenSuse Leap 16.

MySQL 5.7.3 and MariaDB 10.2.4

MySQL 5.7.3 and MariaDB 10.2.4 introduced COM_RESET_CONNECTION, a SQL command to reinitialize a connection's state without requiring reauthentication. This is important to be able to safely reuse connections across requests, i.e. persistent connections, without fear of being in an undesirable leftover state.

MySQL 5.7.3 was released on December 3rd, 2013 and reached its end-of-life alongside all 5.7 minor versions on October 25, 2023.

MariaDB 10.2.4 was released on February 17th, 2017 and reached its end-of-life alongside all 10.2 minor versions on May 23rd, 2022.

This RFC proposes that we use COM_RESET_CONNECTION in PDO and mysqlnd when reusing persistent connections. Users that are on MySQL or MariaDB databases from before this feature was implemented may upgrade to PHP 8.6, but would not be able to use persistent connections. This means that their software could continue to work, but they might lose a performance optimization.

Proposed PHP Version(s)

PHP 8.6

RFC Impact

To the Ecosystem

  • Users that want to use the newest PHP version will be required to also run newer versions (released in the last 5 years) of other software.
  • For COM_RESET_CONNECTION, persistent connections to MySQL databases will now be safe to use as they will be reset to a pristine state. On the other hand, if existing users inadvertently rely on connection state carrying over across requests, they may see a breaking change.

To Existing Extensions

  • PDO and mysqlnd: users on versions of MySQL and MariaDB before COM_RESET_CONNECTION was implemented may not use persistent connections.

To SAPIs

None.

Open Issues

None.

Future Scope

None.

Voting Choices

Each proposal is voted on separately and requires a 2/3 majority:

Implement autoconf 2.71 requirement as outlined in the RFC?
Real name Yes No Abstain
Final result: 0 0 0
This poll has been closed.

Implement COM_RESET_CONNECTION requirement as outlined in the RFC?
Real name Yes No Abstain
Final result: 0 0 0
This poll has been closed.

Patches and Tests

Implementation

N/A

References

Rejected Features

None.

Changelog

  • 2026-07-02: Initial version.
  • 2026-07-02: Add Tim as a co-author and clarify impact.
rfc/min_supported_versions_php_8_6.txt · Last modified: by enorris