PHP 8 is now being used by more (if not most) hosting companies. This is normally a good thing, but it is turning out that unlike PHP 7, PHP 8 is NOTÂ totally backward compatible with older dialects of PHP. It is beyond the scope of this post to explain all the differences, but incompatibilities are found when using some older plugins. These incompatibilities most often result it some sort of crash and error message.
So, here’s the main recommendation:
If you or your host is updating the to any PHP Version 8, please be sure all the plugins you have installed, as well as your theme are updated first (if possible). This will often avoid crashes and errors.
Otherwise, there are clues in the error messages that get produced. You will usually see what is called a Stack Trace which shows a trace of the pieces of what are called PHP functions. Along with the name of a particular file there will be inclued the full director path of the offending code files. What you should look for in all that mess is often a reference to the WordPress plugins directory – something like
some-name-of-the-site-root-directory/wp-content/plugins/plugin-name/plugin-code-file.php
It won’t have those exact names, but the actual names of files, but the idea is to look for the name of a plugin (or theme instead). Such a reference to such a plugin points a finger at that plugin as suspect. The goal would then be to disable that plugin from the WP Admin dashboard to see if the error goes away. Unfortunately, the errors sometimes prevent you from even logging in with your admin account. The alternatives are to possible switch back to an older PHP version to re-enable the dashboard, or use the CPanel or equivalent control interface to delete the plugin from the /plugins directory.