WordPress aims to support new versions of PHP on the day they are released as much as possible. As a project, the process of supporting these new versions begins after each new PHP version has hit feature freeze and are tagging beta versions. This prevents having to revert or make additional changes to WordPress if a planned feature is removed or the implementation changes.
Past changes to supported PHP versions have been as followed:
In WordPress version 4.1: Added support for PHP 5.6.
In WordPress 4.4: Added support for PHP 7.0 (dev note).
In WordPress 4.7: Added support for PHP 7.1.
In WordPress 4.9: Added support for PHP 7.2.
In WordPress 5.0: Added support for PHP 7.3 (dev note).
In WordPress 5.2: Dropped support for PHP 5.2, 5.3, 5.4, 5.5.
In WordPress 5.3: Added support for PHP 7.4 (dev note).
In WordPress 5.6: Added “beta support” for PHP 8.0 (dev note).
In WordPress 5.9: Added “beta support” for PHP 8.1 (dev note).
In WordPress 6.1: Added “beta support” for PHP 8.2.
In WordPress 6.3:
Raised PHP 8.0 to compatible with exceptions.
Exceptions:
Named parameters. WordPress does not support named parameters.
Filesystem WP_Filesystem_FTPext
and WP_Filesystem_SSH2
when connect fails.
Raised PHP 8.1 to compatible with exceptions.
Exceptions:
htmlentities()
et al needs the default value of the flags parameter explicitly set.
Replace most strip_tags()
with wp_strip_tags()
unregister_setting()
for unknown setting.
In WordPress 6.4: Added “beta support” for PHP 8.3 (news post).