Retiring old PHP versions
PHP is the programming language that WordPress code is based on. This language runs on the server and keeping it up to date is important to the security and functionality of your WordPress site.
Select a question to see its answer:
- Why is this happening?
- How will I know what PHP version I'm using?
- What do you recommend I do?
- How do I change my PHP version?
- How can I use DEBUG_MODE to display errors?
- What happens if I do nothing?
Why is this happening?
EOL PHP versions are no longer supported by PHP.net for security updates, potentially making your WordPress site vulnerable. Updating to the current PHP version can also improve performance and stability for most sites.
We're retiring the following PHP version:
- PHP 7.4
How will I know what PHP version I'm using?
Your PHP version can be seen in several locations:
- Managed WordPress hosting dashboard: Under Settings, select Production Site, and then PHP Version. You can update your PHP version here as well.
- WordPress Dashboard: On the Home page, an admin message will display PHP Update Required. Follow the link to update your PHP version.
- PHP info script: You can create a PHP info file and place it in your public_html directory. This will display your PHP version info when the file is loaded in your browser.
What do you recommend I do?
If your site is running on an EOL version of PHP, we recommend being proactive and updating your site.
First, you should update your plugins and your active theme. This is the most probable cause of trouble when updating the PHP version for your WordPress site. You should also take this opportunity to review the developer's documentation for your plugins and theme to see if there are any issues to be aware of when updating the PHP version.
Our Deluxe, Ultimate, and Ecommerce Managed WordPress plans include a one-click staging site where you can test your site on the latest version of PHP. This is a great place to troubleshoot and overcome any problems you may encounter without affecting your live site. Once you've completed the update and fixed the issues in your staging site, you can push the changes to your live site.
Note: If your site is on a Basic Managed WordPress plan, you'll need to upgrade to a Deluxe, Ultimate, or Ecommerce plan to access the staging environment. (Here's how to upgrade)
Depending on the EOL PHP version your site is running on, there may not be much that needs to change for your site to work properly. The older the version, the more work may be involved in getting your site ready for the change.
You should review the features that are deprecated in PHP 8.0.x at PHP.net. You may need to involve your WordPress developer or admin to ensure your site will function properly after the PHP version change.
If you don't have a WordPress developer or admin to help with your site, our paid-for service WordPress Premium Support can help.
How do I change the PHP version?
You can change the PHP version in the Settings section of your Managed WordPress hosting dashboard.
How can I use DEBUG_MODE to display errors?
WordPress includes a debug mode that you can turn on to give more detailed error messages. Enabling debug mode will cause all PHP errors and warnings to display. This can help you find the error which can be used to find a solution. Follow these directions to enable WordPress debug mode to display errors.
Here are some of the errors that are common when upgrading PHP 7.4 to PHP 8.x:
|PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function WP_Widget::__construct()||Update plugin or theme|
|Fatal error: Uncaught Error: Cannot call constructor in...||Update plugin or theme|
|PHP Fatal error: Declaration of method::function()||Update plugin or theme|
|PHP Fatal error: Uncaught Error: Attempt to assign property...||Update plugin or theme|
|PHP Fatal error: Uncaught Error: Object of class WP_Error could not be converted to string in...||Update plugin or theme|
|Uncaught TypeError ($object_or_class) must be of type object|string, null give in...||Update plugin or theme|
|PHP Fatal error: Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|array, bool given in...||Update plugin or theme|
|PHP Fatal error: Uncaught TypeError: Cannot access offset of type string on string in||Update plugin or theme|
What happens if I do nothing?
As PHP version 7.4 is retired, anyone that is still using it will find that their site has changed to a more recent, stable version of PHP.
If your site currently uses PHP version 7.4, some aspects may not work after the automatic PHP update if they depend on deprecated code. You should consult your web developer or WordPress admin if you're unsure.