====== PHP RFC: Minimum supported versions for PHP 8.6 ======
* Version: 1.1
* Date: 2026-07-02
* Author: Eric Norris, erictnorris@gmail.com; Tim Düsterhus, timwolla@php.net
* Status: Under Discussion
* Thread: https://news-web.php.net/php.internals/131707
===== 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 [[https://github.com/php/php-src/commit/631bab42ddef8e90964558fe8b1df80157e12986|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 [[https://www.mysql.com/support/eol-notice.html|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 [[https://endoflife.date/mariadb|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:
* Yes
* No
* Abstain
----
* Yes
* No
* Abstain
===== Patches and Tests =====
* autoconf 2.71 https://github.com/php/php-src/pull/21159#issuecomment-4111691063
* ''COM_RESET_CONNECTION'' https://github.com/php/php-src/pull/21857
===== Implementation =====
N/A
===== References =====
* Discussion thread https://news-web.php.net/php.internals/131707
* Pre-discussion thread https://news-web.php.net/php.internals/130704
===== Rejected Features =====
None.
===== Changelog =====
* 2026-07-02: Initial version.
* 2026-07-02: Add Tim as a co-author and clarify impact.