WordPress 7.0 and 7.1 PHP requirements: minimum, recommended and supported versions
Short answer
WordPress 7.0 and 7.1 work with PHP 7.4 to 8.5. wordpress.org recommends PHP 8.3 or greater. The change from WordPress 6.9: support for PHP 7.2 and 7.3 ended, so 7.4 is now the minimum. PHP 7.4 itself hasn’t had security fixes since November 2022, so “works” isn’t the same as “safe”: on any version older than 8.2 your site runs without PHP security fixes. Your plugins and theme decide whether your site runs on the version you choose.
The short answer
| WordPress 7.0 and 7.1 | |
|---|---|
| Minimum PHP | 7.4 |
| Supported PHP | 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5 |
| Recommended | 8.3 or greater |
Sources: the WordPress core team’s compatibility table and wordpress.org’s requirements page, which says: “To run WordPress, it’s recommended your host supports: PHP version 8.3 or greater.”
What changed from WordPress 6.9
The compatibility table lists WordPress 6.9 with PHP 7.2 and 7.3 as well; WordPress 7.0 and 7.1 start at 7.4. A site still on PHP 7.2 or 7.3 must move to a newer PHP version before it can update to WordPress 7.0. At the top, nothing changed: 6.9, 7.0 and 7.1 all support PHP 8.5.
“Supported” is not “safe”
WordPress supporting a PHP version means WordPress runs on it. It says nothing about security fixes for PHP itself, which the PHP project publishes on fixed dates (php.net, end-of-life list):
| PHP | Security fixes |
|---|---|
| 7.4 | ended 28 November 2022 |
| 8.0 | ended 26 November 2023 |
| 8.1 | ended 31 December 2025 |
| 8.2 | until 31 December 2026 |
| 8.3 | until 31 December 2027 |
| 8.4 | until 31 December 2028 |
| 8.5 | until 31 December 2029 |
wordpress.org itself notes about older setups that PHP 7.4 and such versions “have reached their official End Of Life and may expose your site to security vulnerabilities” (wordpress.org). Which version to aim for, in detail: the best PHP version for WordPress.
Your plugins and theme decide
WordPress 7.0 running on PHP 8.5 doesn’t mean your site does: every plugin and your theme must cope with that version too. Before switching, check them for the version you choose. CompatNav, a free plugin, does this on your own server for PHP 8.0 to 8.5 and says, in plain words, what will break and what only shows notices; checking for PHP 8.5 in four steps shows how. Then change the PHP version in your hosting panel.
Key takeaways
- WordPress 7.0 and 7.1 support PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 and 8.5.
- The minimum is PHP 7.4; WordPress 6.9 still supported 7.2 and 7.3.
- wordpress.org recommends PHP 8.3 or greater.
- PHP 7.4 to 8.1 no longer get security fixes; 8.2’s end on 31 December 2026.
- WordPress being compatible doesn’t mean your plugins and theme are: check them for the version you choose.
Frequently asked questions
What is the minimum PHP version for WordPress 7.0?
PHP 7.4, according to the WordPress core team’s compatibility table. WordPress 6.9 still listed PHP 7.2 and 7.3.
Does WordPress 7.0 work with PHP 8.5?
Yes. The core team lists WordPress 7.0 and 7.1 as compatible with PHP 8.5 (and 6.9 as well).
Which PHP version should I use with WordPress 7.0?
PHP 8.3 or newer, as wordpress.org recommends; ideally the newest one your plugins, theme and host support, because it gets security fixes the longest.
Check your own site before you upgrade
CompatNav is a free WordPress plugin. It reads the code of your plugins and themes on your own server and tells you, in plain words, what will break and what will only show notices on the PHP version you choose. It never changes your code. It can’t see problems that only appear while code runs with real data, so a quick check of your site after the upgrade still matters.
Sources
- make.wordpress.org: PHP Compatibility and WordPress Versions
- wordpress.org: Requirements
- php.net: Supported Versions
- php.net: Unsupported Branches (end of life dates)
About the code examples: each output is the real output of the code shown, run with the official PHP builds, without a php.ini, with all errors reported and displayed. Only the file path was replaced by a neutral server path.