The numbers
- 409 plugins get new deprecation notices on PHP 8.5 that they did not have on 8.4.
- Deprecations only log a notice; the code keeps working. Expect them to become errors in PHP 9.
- The only plugins that really fail are the 16 old ones that never supported PHP 8 (see the list).
What triggers the PHP 8.5 notices
| Deprecated | Plugins | Fix |
|---|---|---|
curl_close() | 232 | Has done nothing since PHP 8.0; the call can simply be deleted. |
imagedestroy() | 107 | Has done nothing since PHP 8.0; the call can simply be deleted. |
finfo_close() | 29 | Has done nothing since PHP 8.1; the call can simply be deleted. |
xml_parser_free() | 56 | Has done nothing since PHP 8.0; the call can simply be deleted. |
(boolean) cast | 38 | Write (bool) instead. |
(double) cast | 30 | Write (float) instead. |
(integer) cast | 13 | Write (int) instead. |
socket_set_timeout() | 14 | Use stream_set_timeout(). |
Backtick operator `…` | 12 | Runs a shell command; use shell_exec() instead. |
MHASH_* constants | 8 | Part of the old mhash API; use hash(). |
(binary) cast | 1 | Write (string) instead. |
Counts are plugins with at least one occurrence. The fixes are one-line changes for plugin authors.
Check your site, including premium and custom plugins and your theme, with the free PHP Upgrade Check plugin. It runs inside WordPress and works on any host.
Should you move to PHP 8.5 now?
For most sites PHP 8.4 is the safer target today: it is supported until the end of 2028 and fewer plugins log notices on it (8.4 results). Move to 8.5 once your plugins have caught up, after testing on a staging copy.