PHP7 has many performance advantages, and in
this post, I’ve performed a test to find out the WordPress
performance in PHP 5.6 and 7.
You will also learn how to switch WordPress to use from PHP 5
to 7 on Shared Hosting,
PHP7 was released in 2015 with many
performance improvements but looks like the
industry is yet to adopt the new version of PHP.
As you can see PHP7 got just above 3% of market share despite
providing better features. Does it lack
I read a lot of articles on PHP7 vs. PHP5 so
thought myself to give a try and see how
fast is PHP7 on the WordPress website.
Before jumping to the results, some worth mentioning
features of PHP7 are:
- Reduced memory usage
- Consistent 64-bit support
- New version of Zend engine
- New engine exception for better error handling
- Adds anonymous classes
- Faster loading website (of course)
The latest version of WordPress officially supports
PHP7. Let’s find out how they perform with PHP7.
A little bit of platform and testing procedure to give you a
- I provisioned Linode $10
plan and did the following.
- Installed WordPress 4.7 on Ubuntu 16.04 LTS through
- Installed Blogging Theme by
- Didn’t use any caching plugin or CDN
- Used Loader to perform a load test with 50-200
clients for one minute.
performance on PHP-FPM 5.6
By default, EasyEngine installs
PHP-FPM 5.6 , so I didn’t have to do any configuration
except setting up WordPress, installing theme & pointing my
test domain to Linode VM IP.
I went to Loader to perform the test and here is the result:
- Average response time: 11.96s
- Minimum response time: 0.6s
- Maximum response time: 19s
performance on PHP-FPM 7.0
I switched to PHP 7 through Easy engine and results are:
Amazing! You see PHP7 is two times
faster. PHP7 performed well in all the aspects.
- Average time is 5.1 seconds
compare to 11.96s with PHP 5.6
- Minimum response time is 0.4
seconds compare to 0.6s
- Maximum response time is 8.2
seconds compare to 19s
Just by switching WordPress from PHP 5.6 to PHP 7 decreased the
time by 50%.
I believe it’s the quick win for any WordPress
website and if you are still not using the latest PHP version,
then this test result should encourage you to upgrade.
You may want to check your theme and plugin to ensure they are
compatible with PHP 7 so it doesn’t break post
PHP Compatibility Checker
plugin by WPEngine will help you to
analyze your existing theme and plugin and let you know they
are ok with PHP 7.
How to Switch from PHP
5 to 7?
There are multiple ways to achieve this based on the platform
If using EasyEngine
Probably one of the quickest ways to switch stack version is
Login to your VPS/Cloud where EasyEngine is installed
ee site update yourwebsite.com --php7
[email protected] :~# ee site update chandan.io --php7 PHP7.0 is experimental feature and it may not work with all plugins of your site. You can disable it by passing --php7=off later. Do you wish to enable PHP now for chandan.io? Type "y" to continue [n]:y Running pre-update checks, please wait... Backup location : /var/www/chandan.io/backup/25Feb2017093100 Backing up database [Done] Setting up NGINX configuration [Done] Setting up webroot [Done] Reload : nginx [OK] Successfully updated site http://chandan.io [email protected] :~#
You can use ps command to verify PHP 7 is
[email protected] :~# ps -ef|grep php root 17274 1 0 Feb24 ? 00:00:04 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf) root 26674 26541 0 09:31 pts/0 00:00:00 grep --color=auto php [email protected] :~#
Note: if you notice PHP 5 and seven both are
running then you can stop the PHP 5 and remove from the auto
If you are on shared hosting which provides cPanel, then you
can change the PHP version by yourself as the following.
However, if you don’t have cPanel, then you may need to speak
to your hosting provider.
The following screenshot is taken from SiteGround .
- Login to your cPanel
- Click “PHP Version Manager” under 1H Software
- Select the site to change the PHP version
- Change the version and click Save
You will get a confirmation that new version
is applied to your site home.
Well done! You just made your WordPress
site faster on shared hosting.
If hosting on
If you are hosting your WordPress on Cloud or VPS like Google
Cloud, AWS, Linode, DO , etc. and have installed
everything manually by your own then you can do the following
(example for CentOS 6.x )to upgrade PHP.
- Login to your CentOS VM
- Take a backup of VM before upgrade so you can rollback
in-case thing goes wrong
- Remove existing PHP version
yum remove php-fpm php-cli php-common
- Install the following repository
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
- Install PHP-FPM 7 and its required module
yum install php70w-fpm-nginx php70w-cli php70w-mysqlnd php70w-fpm
Restart Nginx, MySQL & PHP-FPM to ensure it’s loaded with
the latest version. You may also access WordPress website to
ensure its functionality.
Congratulation! You have successfully
installed PHP-FPM 7.
You may do the following if you want to verify the version.
[ [email protected] init.d]# /usr/sbin/php-fpm -version PHP 7.0.16 (fpm-fcgi) (built: Feb 18 2017 10:46:38) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies [ [email protected] init.d]#
I hope above give you an idea how to implement PHP-FPM 7
for WordPress and its performance advantages.
So go ahead and give a try to PHP-FPM 7 to experience the
loading WordPress website .