Each requirement had its own vote, needed a two-thirds majority, and closed on July 30, 2026. The autoconf 2.71 requirement passed 27 to 2 with 5 abstentions, and the COM_RESET_CONNECTION requirement passed 26 to 0 with 5 abstentions.
Requires autoconf 2.71 to build PHP 8.6 from git, and MySQL 5.7.3 or MariaDB 10.2.4 for persistent connections.
This poll has closed.
This poll has closed.
Each requirement had its own vote, needed a two-thirds majority, and closed on July 30, 2026. The autoconf 2.71 requirement passed 27 to 2 with 5 abstentions, and the COM_RESET_CONNECTION requirement passed 26 to 0 with 5 abstentions.
PHP 8.6 raises the minimum versions of two things PHP depends on. You need autoconf 2.71 or newer to build PHP from git, and persistent MySQL connections need MySQL 5.7.3 or MariaDB 10.2.4 or newer. The RFC is from Eric Norris and Tim Düsterhus, and both parts were accepted.
PHP has officially required a C11 compiler since PHP 8.4, but nothing actually checked for it. Build with an older compiler and you got a failure that didn't tell you why. The old minimum, autoconf 2.68, doesn't know about C11, so the ./configure script can't reliably detect it.
Moving to autoconf 2.71 fixes that and lets the core team simplify some of the build definitions. It only matters if you build from git. Release tarballs ship with a pre-generated ./configure, so building from an official release works the same as before. Autoconf 2.71 came out in January 2021 and is the default on Debian 12+, Ubuntu 22.04+, RHEL 10, Fedora 38+, Alpine 3.16+ and openSUSE Leap 16.
MySQL 5.7.3 and MariaDB 10.2.4 added COM_RESET_CONNECTION, a command that resets a connection's state without authenticating again. PDO and mysqlnd will now send it when they reuse a persistent connection, so each request starts from a clean connection instead of whatever the last request left behind.
Both of those versions are well past end of life. MySQL 5.7 reached it in October 2023, and MariaDB 10.2 in May 2022.
If you're on an older MySQL or MariaDB, PHP 8.6 still works, but you can't use persistent connections. Your app keeps running without the speedup persistent connections give you.
If you use persistent connections today, check for code that counts on connection state carrying over from one request to the next. The RFC calls that out as a possible breaking change, since the reset clears it.