Have you upgraded to PHP 7 for WordPress? NO.. wait, are you unaware of requirements for PHP version 7, benefits or concerned about any related issues? Don’t know about WordPress PHP upgrade procedure? No more worries – you are at the right place to get all, you need!!

PHP is a server-side scripting language developed by Rasmus Lerdorf in 1994. He would have no idea that it would empower more than 83% of the websites. It is open-source and the soul of WordPress. Recently, there is a lot of buzz in the market around PHP 7. WordPress itself, recommends upgrading your site to PHP 7. Whereas, most of the users are running their WordPress sites based on PHP version 5.6. Then, what should they do? Should continue with PHP 5.6 or upgrade WordPress to PHP 7?

Before finding an answer to this, let’s have a look at new features in PHP 7. It will help you to move forward with a firm decision.

PHP 7 Features, Upgrades and More!

The next major release after PHP 5.6 is PHP 7. PHP 6 is skipped as Unicode didn’t do so well. A lot of iterations has been made to PHP 5 since 2004. So, twelve years was a long time span to release a version with a number of performance improvements, safety, and no backward compatibility. The main features of PHP 7 are as follows

  • Improved Performance

PHP 7 is about twice as fast as PHP 5.6. Benchmark testing shows that a response time of 4ms with PHP7 whereas it’s 1.2 on PHP 5 for WordPress 4.4.2. It requires less time to serve the same number of requests. PHP 7 instruction set is optimized for executing the same task in fewer instructions. So, it significantly reduced the memory usage too.

  • Return and Scalar Type Declarations

Now, you can specify the type of variable instead of allowing PHP to set this automatically. So the type declarations ensure the expected results and make the code easier to read. PHP 7 now has added scalar types. Specifically: int, float, string, and bool. Defining these things, it is hoped to get correct and self-documenting PHP programs. PHP 7 also supports return type declarations as arguments. Now, the function will work as desired.

  • Improved Exception Hierarchy With Error Handling

PHP 7 introduces error-handling that is a major relief for coders. As scripts are used to stop by fatal errors. But now fatal errors are replaced with exceptions. You can now use Throwable blocks to catch both Exception and Error objects. However, it does not guarantee that site visitors will never encounter errors. But there are reduced chances of the user interruptions because of PHP script errors.

  • New Operators

PHP 7 also introduces some new operators as follows

    1. Spaceship Operator – Spaceship operator is a complement to the greater-than and less-than operators. It compares the values on the left with values on the right on less than, equal or greater than grounds. It has the main application in sorting function.
    2. Null Coalesce Operator – It is to check whether any variable exists or not. If yes, returns a default value otherwise return the left operand. This if-set-or operator uses a ?? as notation.
  • Easy User-land CSPRNG Functions

It refers to an application space protected by privilege separation that is external to the kernel. CSPRNG is a secure way of generating random data. It stands for Cryptographically Secure PseudoRandom Number Generator. Random numbers are used to protect the system from hackers. In PHP 7, a system interface is put up for the random number generator. But if it gets hacked, the whole system will be compromised and results in bigger issues.

  • Anonymous Classes

PHP 7 introduces instantiate anonymous classes like in C# and Java programming. It is a class without a name. The object it instantiates has the same functionality that objects named classes to do. These are great to speed up both coding and execution as no documentation needed. You can refer to our Guide to PHP 7 article if you want to know more about new Features, Compatibility and Performance.

Why Upgrade WordPress from PHP 5.6 to 7?

Now, you have an idea about new things introduced in PHP 7. Let’s find out the reasons for WordPress upgrade PHP7.

  • An update is necessary for security reasons. The version you are using can have security holes.
  • PHP 7 has higher load capacity. It will cater more customers using the same hardware.
  • PHP 7 is good for business as providing great performance, resilience and optimal utilization. It enjoys a slight edge when it comes to WordPress.
  • The minimum requirements for WordPress have been raised. So, you will encounter compatibility issues with plugins and scripts.
  • Last but not the least, one should adopt a stable version. All its new features advocate upgrading.

 

Issues with the Upgrade

Wherever one thinks to switch to a new version, first thing comes into consideration is compatibility. PHP 7 is not backward compatible. So it might be possible that some of your plugins, themes or scripts will not work properly. Even, it may fully or partially break your site. As every new version comes with many improvements, security patches & new structure of the code.

It may also possible that your plugin or theme code is completely old version dependent. Then, an upgrade will prove this code to be obsolete. So, it’s better to review and modify this code to work well with the new version.

 

Compatibility Check for WordPress and PHP 7

Mainly, the issues arise due to incompatibility whenever you upgrade WordPress to PHP7. If you go for checking compatibility manually, it can be tiresome. So, here is a useful plugin that will help you to test it easily.

wordpress php 7

This plugin will ask you PHP version to check theme & plugin code. It will generate a report of compatibility issues that need to fix. It will also suggest the new version of plugins if available that will support PHP 7.

However, this plugin itself says 100% reliable detection is not possible. It is best to run comprehensive tests before you migrate to a new PHP version.

So, it’s good to check your site manually for any issues.

Check your Site Manually before Upgrading WordPress to PHP 7

Before upgrading, it will be good to check your site. For that, you will create a local copy of your site. You will follow the below steps to check your WordPress site before upgrading

1. Backup Live Site

Before making any changes to your live site, you will take its backup. There are many plugins to create a backup of your site. Out of which, some of the popular plugins are as follows

This plugin simplifies the backup and restoring process of a site. It is one of the highest ranking the scheduled backup plugins. It backups your files and database to the cloud. You can restore again anytime.

It is an easy to use the scheduled backup plugin. You can take backup of your site including the database.

This plugin exports a site with the database and all the media files in a single file. You can upload your site anytime using this backup file.

For more plugins to backup your WordPress site, you can read our post on Free Backup WordPress Plugins.

2. Download XAMPP

Next step is to set a local copy of your website using XAMPP. Download the PHP 7 compatible version of XAMPP. To get the details, you can read the article on “how to install XAMPP and WordPress locally”.

3. Restore Your Site

Once you successfully installed WordPress, restore the backup of your site using any of the plugin mentioned above.

4. Test Local Copy of Your Site

Now, look your site thoroughly for errors. The errors and warnings generated will depend on your set up. You just

  1. Check every page on your website. Look for any elements that have suddenly stopped working.
  2. Check each plugin one by one.
  3. Test that all the features of your active theme are functioning well or not.
  4. You can also go to the wp-config.php file and set the variable WP_DEBUG as true. It will display all the errors and warnings.

define(‘WP_DEBUG’, true);

5. Fixing the Common Problems

The common problems that you can encounter while upgrading are as follows

  1. Firstly, just see the PHP constructs and non-standard PHP code declaration tags. Locate them and replace with modified PHP 7 versions.
  2. PHP7 introduces error handling. Most probably, PHP 5 exception handling methods won’t work. For example,
try {//code}

catch( exception $e)

{//code to handle this exception}

So you can specify the type of error that you expect to encounter in PHP 7 & replace that as follows

try {//code}

catch( throwable $t)

{//code to handle this error}

This means PHP 7 allows you to deal with different type of errors differently. You can also seek help from application developer or by asking questions at developer’s forum.

How to Upgrade your Site to PHP 7 for WordPress?

Once you complete the testing phase, you will follow these steps to upgrade to PHP7 for WordPress

  • Make Changes to the Live Site

Once you complete the testing and filtering the local site, you will replace same errors in your live site. It means you will make improvements in the live site to remove the same errors you encountered locally.

  • Upgrade Your Live Site to PHP7

Does your host provider include any option of PHP version change? If not, you can ask the host company to provide a version upgrade option in the cPanel

Then, log into cPanel and navigate to “Software/Services” option. Now, click the Select PHP version option.

wordpress php 7

Now a screen somewhat like this will display. You can Select your PHP version and PHP modules here.

wordpress php 7

… and You are done!

Final Thoughts

PHP 7 will give a performance boost to your site in terms of speed, security, low memory usage & much more. It is smart to upgrade your site to PHP 7 for WordPress. Soon, it may be the minimum requirement for WordPress. But in case you have compatibility issues, you can wait until the authors of plugins, themes provide the updated versions. But undoubtedly, PHP 7 is improving with every release and promises to benefit you a lot.

Upgrading major PHP version at the backend calls for a fresh design at the front as well. If you are already thinking to redesign your website, start with our WordPress Theme Builder and get your website design done in no time.