Much like for humanity (and Kinsta), 2020 has been a noteworthy year for PHP. The much-anticipated PHP 8 released on November 26, 2020, bringing many breaking changes from its previous versions. You can catch up on all the juicy PHP 8 features in our in-depth post.

Each year we release our in-depth performance benchmarks for various PHP platforms to see how different PHP versions stack up against each other. We took our benchmarks a notch higher this year and benchmarked 7 different PHP versions across 20 unique PHP platforms/configurations, including WordPress, Drupal, Joomla, Laravel, Symfony, and many more. We also tested other popular PHP platforms such as WooCommerce, Easy Digital Downloads, PrestaShop, October CMS, and Grav.

At Kinsta, we always encourage WordPress users to take advantage of the latest supported PHP versions. Not only are they the most secure, but they also offer many performance improvements. This fact holds for many other PHP platforms too. Today, we’ll show you how PHP 7.4 and 8.0 blow away through almost everything we put them against. There are also some surprises along the way.

Are you excited? We’re too!

We benchmarked 20 PHP platforms/configurations on 7 different PHP versions. PHP 8.0 emerged as the champion in most platforms that support it, including WordPress. 🏆🚀Click to Tweet

The State of PHP

PHP (recursive acronym for PHP: Hypertext Preprocessor) is one of the most widely used server-side scripting and programming languages. It is open source and used predominantly for web development. And since PHP powers a bulk of the core WordPress software, it’s a highly essential language for the WordPress community.

PHP Logo

While some may argue that PHP is dead, it’s far from the truth. As per W3Techs, PHP is used by 79% of all websites whose server-side programming language they know. That’s almost 4 out of 5 websites! So, PHP is much alive, faster, and better than it has ever been.

Stats for server-side languages usage from W3Techs

Stats for server-side languages usage (Source: W3Techs)

If that looks dead to you, then I want to know what’s considered alive! Even when compared with JavaScript and its new server-side implementations, PHP stands tall and proud beside it.

However, there’s a big problem with the PHP community. Many websites are still using outdated, unsupported versions of PHP. According to W3Techs, 38.9% of websites are still on PHP 5.6 and lower.

WordPress PHP versions stats from WordPress.org

WordPress PHP versions stats (source: WordPress.org)

And when it comes to WordPress stats, only 49.9% of the sites are running on supported PHP versions (7.3 or higher). What’s even worse is that 17.2% of all WordPress sites run on PHP 5.6 or lower. It’s better than the overall PHP community, but that’s still many websites with their backdoors wide open.

We think there are many reasons for this conundrum:

  • Lack of education amongst the WordPress community about PHP and the critical role it plays in WordPress.
  • Compatibility issues with plugins and themes running on newer versions of PHP.
  • WordPress hosting providers’ reluctance to push out new PHP versions from a fear of creating issues for their customers.

To beat this troubling issue, Kinsta follows the same end-of-life (EOL) schedule as PHP. It helps keep all the WordPress sites hosted with us as fast and secure as possible.

How do Kinsta customers stack up against the general WordPress community? We were curious ourselves, so we took a look at the numbers.

PHP version of sites hosted at Kinsta

PHP version of sites hosted at Kinsta

Here’s the rundown:

  • 72.1% of WordPress sites at Kinsta are running PHP 7.3.
  • 27.8% of WordPress sites at Kinsta are running PHP 7.4.
  • <0.1% of WordPress sites at Kinsta are running PHP 8.0.

We’re proud and excited about these stats. It means the PHP adoption rate among Kinsta customers is much higher than the general WordPress and PHP community. And that makes us mighty happy!

Note: PHP 8.0 for live sites was enabled only at the very end of December 2020. We expect more sites to shift to it soon.

If you’d like to learn PHP, we’ve compiled a list of some excellent PHP tutorials (both free and paid).

All the WordPress sites hosted at Kinsta are running on PHP 7.3 or higher! 💥Click to Tweet

PHP Benchmarks (2021)

Though PHP 5.6, 7.0, 7.1, and 7.2 are no longer supported officially, many websites are still running on them. Hence, we decided to test seven different PHP versions of PHP so that you can see just how impressive the newer versions are in terms of performance.

This year’s hot pick is, of course, the newly released PHP 8. It’s the latest and the most exciting development in the PHP world for quite some time. Not all PHP-based frameworks and CMS support it yet, but we’ve tried to test as many of them as possible.

We used the latest version of each platform for each test and benchmarked one of its URLs with 15 concurrent users for 10,000 requests. You can find details of our test environment below:

  • Machine: Intel Xeon (30-core CPU), 120GB RAM, 1TB HDD. It’s a Compute-Optimized (C2) virtual machine powered by Google Cloud Platform and running in an isolated container. All Kinsta hosting plans have C2 machines available.
  • OS: Ubuntu 20.04.1 LTS (Focal Fossa)
  • Web Server: Nginx 1.18.0 (nginx/1.18.0)
  • Database: MariaDB 10.5.8 (MariaDB-1:10.5.8+maria~focal)
  • PHP Versions: 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0
  • Page Caching: Disabled on all platforms and configurations.
  • OPcache: Enabled OPcache on all platforms and configurations using the recommended php.ini settings, except for the opcache.max_accelerated_files value we raised from 4000 to 50000. The OPcache settings used are:
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=50000
opcache.revalidate_freq=2
opcache.fast_shutdown=1
opcache.enable_cli=1

As OPcache improves PHP performance by storing the precompiled script bytecode in the server’s shared memory, it eliminates PHP’s need to load and parse scripts for each request.

PHP Platforms and Configurations Tested

Our benchmarks include the following 20 PHP platforms/configurations. Click on any of them below to skip directly to its test results and notes. We measured the data in requests per second. The more requests, the better.

As the demo content across each platform can vary dramatically, we tested their barebone installations’ raw performance. You shouldn’t use these benchmark results to weigh one platform against another, but how it competes against itself on different PHP versions.

To give you a better idea of the pages tested, we’ve also included their size and screenshots. Some are small, while others are huge.

Without further ado, let’s dig in!

WordPress 5.6

WordPress was the first platform we tested. After all, it powers this very blog you’re reading and 39.5% of all the websites on the internet. It’s a free and open source software you can use to create beautiful websites, blogs, and apps.

WordPress logo

We started with WordPress 5.6, the latest version at the time of writing this article. It comes with the new Twenty Twenty-One theme installed. We benchmarked the URL for 10000 requests with 15 concurrent users. The same methodology was used for all the other tests.

The tested WordPress ‘Hello world!’ blog page

The tested WordPress ‘Hello world!’ blog page

URL Tested: /hello-world/

  • Theme: Twenty Twenty-One
  • Notes: The blog page includes a Header with a Logo, Tagline, the article body, one comment, and footer widgets such as Search, Recent Posts, and Recent Comments.
  • Image Source: WordPress.org

Info

The benchmark data is measured in requests per second. The more requests, the better.

WordPress 5.6 PHP benchmarks

WordPress 5.6 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • WordPress 5.6 PHP 5.6 benchmark results: 123.52 req/sec
  • WordPress 5.6 PHP 7.0 benchmark results: 155.08 req/sec
  • WordPress 5.6 PHP 7.1 benchmark results: 145.31 req/sec
  • WordPress 5.6 PHP 7.2 benchmark results: 187.03 req/sec
  • WordPress 5.6 PHP 7.3 benchmark results: 189.14 req/sec
  • WordPress 5.6 PHP 7.4 benchmark results: 197.01 req/sec
  • WordPress 5.6 PHP 8.0 benchmark results: 233.40 req/sec 🏆

PHP 8.0 is the clear winner here, proving to be 18.47% faster than PHP 7.4. And if you compare it to PHP 7.0, it can handle 50% more requests (or transactions) per second.

Important

The state of PHP 8 support in the broader WordPress ecosystem (plugins, themes, development tools, etc.) is almost impossible to know. Hence, WordPress 5.6 is only considered “beta compatible” with PHP 8 for now. If you’re planning to upgrade a production or mission-critical site’s environment to PHP 8.0, please test thoroughly beforehand to make sure that it doesn’t break.

WordPress on PHP 8.0 can handle 18.4% more requests per second than 7.4. Make sure you update today! 🤘🏽🚀Click to Tweet

WordPress 5.6 + WooCommerce 4.8.0

WooCommerce is an open source ecommerce solution for WordPress. Unlike other popular ecommerce platforms, it’s fully customizable and extensible. WooCommerce is also one of the most popular ecommerce plugins in the WordPress community, powering 14% of all ecommerce sites on the internet.

WooCommerce logo

For our next test, we installed WooCommerce on top of WordPress. We used the free Storefront theme along with WooCommerce’s dummy data to set up the test site. The URL tested is a single product page.

The tested WooCommerce single product page

The tested WooCommerce single product page

  • URL Tested: /product/beanie/
  • Theme: Storefront (3.0.0)
  • Notes: The single product page includes a Header with Logo, Tagline, Navigation Menu, Search widget, and Cart. The Body has a single product with its Image, Description, Add to Cart button, Reviews, and multiple sidebar widgets. At the bottom is the Related Products widget with three products. It also includes a side pullout widget for showcasing more products.
  • Image Source: WordPress plugin repository
WordPress 5.6 + WooCommerce 4.8.0 PHP benchmarks

WordPress 5.6 + WooCommerce 4.8.0 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • WordPress 5.6 + WooCommerce 4.8.0 PHP 5.6 benchmark results: Unsupported 🚫
  • WordPress 5.6 + WooCommerce 4.8.0 PHP 7.0 benchmark results: 73.29 req/sec
  • WordPress 5.6 + WooCommerce 4.8.0 PHP 7.1 benchmark results: 67.45 req/sec
  • WordPress 5.6 + WooCommerce 4.8.0 PHP 7.2 benchmark results: 97.58 req/sec
  • WordPress 5.6 + WooCommerce 4.8.0 PHP 7.3 benchmark results: 101.71 req/sec
  • WordPress 5.6 + WooCommerce 4.8.0 PHP 7.4 benchmark results: 107.50 req/sec
  • WordPress 5.6 + WooCommerce 4.8.0 PHP 8.0 benchmark results: 108.55 req/sec 🏆
  • PHP 8.0 is the clear winner for WooCommerce too. It beat out PHP 7.4 by a small margin.

Your WooCommerce store running on PHP 7.1 is 60% slower than your competitor’s store on PHP 8.0! Make sure you upgrade ASAP! 🛒🚀Click to Tweet

WordPress 5.6 + Easy Digital Downloads 2.9.26

Easy Digital Downloads is a free ecommerce plugin for WordPress. Created by Pippin’s Plugins, it’s focused fully on helping you sell digital products (e.g. ebooks, software, videogames).

Easy Digital Downloads Logo

For Easy Digital Downloads, we used its free Themedd theme and its dummy content to set up the test site. The page tested is a single product page.

The tested EDD single product page

The tested EDD single product page

  • URL Tested: /downloads/money-buys-happiness/
  • Theme: Themedd (1.0.7)
  • Notes: The single product page of EDD is lightweight, containing an Image, Description, Purchase button, and some category links. The header has a Logo, Tagline, and Cart, while the Footer just has a basic copyright text.
  • Image Source: Easy Digital Downloads official site
WordPress 5.6 + Easy Digital Downloads 2.9.26 PHP benchmarks

WordPress 5.6 + Easy Digital Downloads 2.9.26 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • WordPress 5.6 + Easy Digital Downloads 2.9.26 PHP 5.6 benchmark results: 137 req/sec
  • WordPress 5.6 + Easy Digital Downloads 2.9.26 PHP 7.0 benchmark results: 193.25 req/sec
  • WordPress 5.6 + Easy Digital Downloads 2.9.26 PHP 7.1 benchmark results: 174.98 req/sec
  • WordPress 5.6 + Easy Digital Downloads 2.9.26 PHP 7.2 benchmark results: 283.27 req/sec
  • WordPress 5.6 + Easy Digital Downloads 2.9.26 PHP 7.3 benchmark results: 292.07 req/sec
  • WordPress 5.6 + Easy Digital Downloads 2.9.26 PHP 7.4 benchmark results: 309.47 req/sec
  • WordPress 5.6 + Easy Digital Downloads 2.9.26 PHP 8.0 benchmark results: 313.01 req/sec 🏆

Yet again, PHP 8.0 outshines all the other PHP versions with WordPress and Easy Digital Downloads.

Info

PHP 8.0 has proven to be faster across the board when it comes to WordPress, WooCommerce, and Easy Digital Downloads. If you´re using WordPress to run any of your sites, you should plan to shift to PHP 8.0 as soon as possible.

Drupal 9.1.0

Drupal is a free and open source content management software. It’s popular for its flexible and modular features.  According to W3Techs, Drupal is used by 1.5% of all websites, including 2.4% of the websites using a content management system.

Drupal logo

We installed Drupal with its Umami installation profile, a demo food magazine website that demonstrates Drupal’s core features.

The tested Drupal article page

The tested Drupal article page

  • URL Tested: /en/articles/the-umami-guide-to-our-favourite-mushrooms/
  • Theme: Umami Food Magazine 9.1.0
  • Notes: The tested page is an article and includes many features such as Search widget, Language changer widget, Login module, Breadcrumbs, Sidebar with Featured Articles widget, Recipe Collections widget, Sign-up form.
  • Image Source: Drupal.org
Drupal 9.1.0 PHP benchmarks

Drupal 9.1.0 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • Drupal 9.1.0 PHP 5.6 benchmark results: Unsupported 🚫
  • Drupal 9.1.0 PHP 7.0 benchmark results: Unsupported 🚫
  • Drupal 9.1.0 PHP 7.1 benchmark results: Unsupported 🚫
  • Drupal 9.1.0 PHP 7.2 benchmark results: Unsupported 🚫
  • Drupal 9.1.0 PHP 7.3 benchmark results: 363.06 req/sec 🏆
  • Drupal 9.1.0 PHP 7.4 benchmark results: 328.08 req/sec
  • Drupal 9.1.0 PHP 8.0 benchmark results: 304.07 req/sec

Drupal was the first PHP platform where the benchmark results scaled backward with increasing PHP versions. We benchmarked multiple times just to make sure, but the results were similar. It’s strange, but not uncommon. Perhaps newer PHP 8.x and Drupal 9.x.x versions might fare better, but that’s for another day!

Joomla! 3.9.23

Joomla! is another free and open source content management system. It was first released in 2005 and is the second-most popular open source CMS in use today. According to W3Techs, Joomla! is used by 2.2% of all websites they track.

Joomla! logo

For the Joomla! Benchmark, we used the free Protostar template that ships with all Joomla! 3.x distributions.

The tested Joomla homepage

The tested Joomla homepage

  • URL Tested: / (homepage)
  • Theme: Protostar (1.0)
  • Notes:  Joomla! is installed with “Default English (GB) Sample Data,” which adds dummy content to the site. The homepage contains a few paragraphs of content, a search widget, and other basic widgets on the sidebar such as Login Form, Popular Tags, and Latest Articles.
  • Image Source: Joomla.org
Joomla! 3.9.23 PHP benchmarks

Joomla! 3.9.23 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • Joomla! 3.9.23 PHP 5.6 benchmark results: 140.22 req/sec
  • Joomla! 3.9.23 PHP 7.0 benchmark results: 166.28 req/sec
  • Joomla! 3.9.23 PHP 7.1 benchmark results: 162.31 req/sec
  • Joomla! 3.9.23 PHP 7.2 benchmark results: 182.24 req/sec
  • Joomla! 3.9.23 PHP 7.3 benchmark results: 182.99 req/sec
  • Joomla! 3.9.23 PHP 7.4 benchmark results: 188.22 req/sec
  • Joomla! 3.9.23 PHP 8.0 benchmark results: 189.07 req/sec 🏆

The results are back to an expected pattern. PHP 8.0 is the undisputed champion here. PHP 8.0 can handle 34.83% more requests per second than PHP 5.6 on Joomla!

Grav 1.6.31

Grav is an open source flat-file CMS. It doesn’t require a database to operate, yet it’s rich in features. Grav queries content from text files. That makes it lightweight and easy to install on almost any server.

Grav CMS logo

When performing this test, Grav required PHP 7.1.3+ to work and didn’t support PHP 8 yet. We used its Woo landing page site template to set up the test site.

The tested Grav homepage

The tested Grav homepage

  • URL Tested: / (homepage)
  • Theme: Woo Skeleton (1.0.1)
  • Notes: The test page is a simple one-page website with lots of content, including Header, Social Media icons, Pricing Table, Gallery, Testimonials, Email Subscription form, and Footer. Grav Core Caching has been disabled to test PHP’s raw performance.
  • Image Source: Grav official site
Grav 1.6.31 PHP benchmarks

Grav 1.6.31 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • Grav 1.6.31 PHP 5.6 benchmark results: Unsupported 🚫
  • Grav 1.6.31 PHP 7.0 benchmark results: Unsupported 🚫
  • Grav 1.6.31 PHP 7.1 benchmark results: 131.91 req/sec
  • Grav 1.6.31 PHP 7.2 benchmark results: 211.61 req/sec
  • Grav 1.6.31 PHP 7.3 benchmark results: 212.12 req/sec
  • Grav 1.6.31 PHP 7.4 benchmark results: 233.97 req/sec 🏆
  • Grav 1.6.31 PHP 8.0 benchmark results: Unsupported 🚫

PHP 7.4 is the undisputed winner with Grav. Between testing Grav and writing this article, they’ve already released updates with support for PHP 8.0. We’ll include that in our next batch of benchmark tests.

Being a relatively new CMS, it has a smaller market share compared to WordPress. Hence, it can drop support for older PHP versions quite quickly. That’s one of the most significant advantages of modern CMSs.

OctoberCMS 1.0.470

OctoberCMS is a free and open source CMS platform based on the Laravel PHP framework. It’s popular amongst developers to make dynamic websites using the power of Laravel. As per W3Techs, OctoberCMS powers just 0.1% of websites.

October

We used the Clean Blog theme to set up the test site for OctoberCMS. It’s a responsive blog theme with an infinite scrolling feature.

The tested OctoberCMS blog page

The tested OctoberCMS blog page

 

  • URL Tested: /blog/post/dummy-blog-post/
  • Theme: Clean Blog
  • Notes: Added dummy content and a featured image to the blog. The tested blog page has a side menu with Logo, Tagline, Recent Posts widget, and Follow Me links. As of this writing, OctoberCMS requires PHP 7.2+ to run and doesn’t support PHP 8.0  yet.
  • Image Source: OctoberCMS official site
OctoberCMS 1.0.470 PHP benchmarks

OctoberCMS 1.0.470 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • OctoberCMS 1.0.470 PHP 5.6 benchmark results: Unsupported 🚫
  • OctoberCMS 1.0.470 PHP 7.0 benchmark results: Unsupported 🚫
  • OctoberCMS 1.0.470 PHP 7.1 benchmark results: Unsupported 🚫
  • OctoberCMS 1.0.470 PHP 7.2 benchmark results: 53.09 req/sec
  • OctoberCMS 1.0.470 PHP 7.3 benchmark results: 54.74 req/sec
  • OctoberCMS 1.0.470 PHP 7.4 benchmark results: 59.20 req/sec 🏆
  • OctoberCMS 1.0.470 PHP 8.0 benchmark results: Unsupported 🚫

PHP 7.4 is the clear winner here, if only by a slight margin. OctoberCMS handled 11.50% more requests per second on PHP 7.4 than on PHP 7.2.

Laravel 8.21.0

Laravel is the most popular PHP framework as of today. Created by Taylor Otwell, it was released in June 2011. You can use Laravel to develop almost any web application, including CMS, ecommerce sites, apps, and much more.

Laravel logo

We used a plain HTML theme to benchmark Laravel.

As Laravel founder Taylor Otwell has pointed out before, you shouldn’t use these benchmark results to compare Laravel with other PHP frameworks. The goal here is to see how Laravel performs on different PHP versions when everything is maintained a constant.

The tested Laravel page

The tested Laravel page

  • URL Tested: / (homepage)
  • Theme: Plain HTML
  • Notes: The tested page connected to the database containing 1,000 posts. The database contains 1 table named “posts” with 6 columns: “id,” “post_title,” “post_content,” “post_author,” “created_at,” and “updated_at.” The page shows the title, author name, and main content for each post.
  • Image Source: Laravel official repository
Laravel 8.21.0 PHP benchmarks

Laravel 8.21.0 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • Laravel 8.21.0 PHP 5.6 benchmark results: Unsupported 🚫
  • Laravel 8.21.0 PHP 7.0 benchmark results: Unsupported 🚫
  • Laravel 8.21.0 PHP 7.1 benchmark results: Unsupported 🚫
  • Laravel 8.21.0 PHP 7.2 benchmark results: Unsupported 🚫
  • Laravel 8.21.0 PHP 7.3 benchmark results: 574.67 req/sec
  • Laravel 8.21.0 PHP 7.4 benchmark results: 602.15 req/sec
  • Laravel 8.21.0 PHP 8.0 benchmark results: 623.78 req/sec 🏆

It’s nice to see that Laravel has dropped support for all the unsupported PHP versions. PHP 8.0 is the undisputed champion with Laravel, performing 8.54% more requests per second than PHP 7.3.

Laravel on PHP 8.0 can handle 8.5% more requests per second than PHP 7.3. ⏩⚡Click to Tweet

Symfony 5.2.1

Symfony is a set of reusable PHP components and a PHP framework to build web applications, APIs, microservices, and web services. It’s a free and open source software and was released on October 22, 2005.

Symfony

You can install Symfony with a demo application. It’s a reference CMS app that demonstrates how to best use Symfony and its various features. We used one of the pages from this demo application to benchmark Symfony.

The tested Symfony blog page

The tested Symfony blog page

  • URL Tested: /en/blog/posts/pellentesque-vitae-velit-ex/
  • Theme: Symfony Demo
  • Notes: The tested page contains a Header with Logo, Homepage link, Search widget, and Language changer widget. The Post consists of a Title, Date, Author, Body, and 4 Tags. 5 Comments and a Sign-in widget follow it. There’s a Sidebar, too, with widgets such as a small text box, “Show code,” and “Blog Posts RSS.” Though the latest Symfony version supports PHP 8.0, we couldn’t get it to work in our environment.
  • Image Source: Symfony official repository
Symfony 5.2.1 PHP benchmarks

Symfony 5.2.1 PHP benchmarks

Embed the graph on your site:

We grew our traffic 1,187% with WordPress.
We’ll show you how.

Join 20,000+ others who get our weekly newsletter with insider WordPress tips!

Benchmark Results

  • Symfony 5.2.1 PHP 5.6 benchmark results: Unsupported 🚫
  • Symfony 5.2.1 PHP 7.0 benchmark results: Unsupported 🚫
  • Symfony 5.2.1 PHP 7.1 benchmark results: Unsupported 🚫
  • Symfony 5.2.1 PHP 7.2 benchmark results: 515.3 req/sec
  • Symfony 5.2.1 PHP 7.3 benchmark results: 529.06 req/sec 🏆
  • Symfony 5.2.1 PHP 7.4 benchmark results: 496.67 req/sec
  • Symfony 5.2.1 PHP 8.0 benchmark results: Didn’t work ⚠️

With Symfony, there’s not much difference between the different PHP versions. However, it’s surprising to note that PHP 7.4 performed the worst out of the three, with PHP 7.3 edging it out by the slightest margins.

CodeIgniter 4.0.4

CodeIgniter is a PHP framework with a tiny footprint. For instance, its latest version is a 1.2 MB download. It’s created by EllisLab and fostered by the British Columbia Institute of Technology. Despite its size, you can still use CodeIgniter to develop full-featured web apps.

CodeIgniter logo

For benchmarking CodeIgniter, we set up a demo application using their official tutorial. It uses a plain HTML theme and outputs a bunch of “News” items.

The tested CodeIgniter archive page

The tested CodeIgniter archive page

  • URL Tested: /news/
  • Theme: Plain HTML
  • Notes: The tested page contains a list of News items with title, content, and link to the main content. The database contains 1 table “news” with 1000 rows of news items, with columns -> id, title, slug, body. The page connected to the database and showed all the posts on the table. The CodeIgniter app contains 1 route and 1 controller to display this content. Like Symfony, we couldn’t get it to work with PHP 8.0 even though it’s officially supported.
CodeIgniter 4.0.4 PHP benchmarks

CodeIgniter 4.0.4 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • CodeIgniter 4.0.4 PHP 5.6 benchmark results: Unsupported 🚫
  • CodeIgniter 4.0.4 PHP 7.0 benchmark results: Unsupported 🚫
  • CodeIgniter 4.0.4 PHP 7.1 benchmark results: Unsupported 🚫
  • CodeIgniter 4.0.4 PHP 7.2 benchmark results: 331.24 req/sec
  • CodeIgniter 4.0.4 PHP 7.3 benchmark results: 389.50 req/sec
  • CodeIgniter 4.0.4 PHP 7.4 benchmark results: 420.15 req/sec 🏆
  • CodeIgniter 4.0.4 PHP 8.0 benchmark results: Didn’t work ⚠️

PHP 7.4 is the fastest with CodeIgniter, performing 26.84% more requests per second than PHP 7.2. That’s not surprising, as it was the fastest in our previous benchmark too.

CakePHP 4.2.2

CakePHP is an open source web framework for developing PHP applications. It promises to make building web applications simpler, faster, and require less code. Since its release in 2005, Symfony’s community has grown immensely and spawned several sub-projects.

CakePHP logo

To benchmark CakePHP, we set up a simple web app using CakePHP’s CMS tutorial. We used a plain HTML theme and outputted a list of dummy content from the database.

The tested CakePHP CMS web app page

The tested CakePHP CMS web app page

  • URL Tested: /articles/index/
  • Theme: Plain HTML
  • Notes: The tested page lists a total of 400 posts generated using dummy data.
  • Image Source: CakePHP official repository
CakePHP 4.2.2 PHP benchmarks

CakePHP 4.2.2 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • CakePHP 4.2.2 PHP 5.6 benchmark results: Unsupported 🚫
  • CakePHP 4.2.2 PHP 7.0 benchmark results: Unsupported 🚫
  • CakePHP 4.2.2 PHP 7.1 benchmark results: Unsupported 🚫
  • CakePHP 4.2.2 PHP 7.2 benchmark results: 256.01 req/sec 🏆
  • CakePHP 4.2.2 PHP 7.3 benchmark results: 237.28 req/sec
  • CakePHP 4.2.2 PHP 7.4 benchmark results: 243.21 req/sec
  • CakePHP 4.2.2 PHP 8.0 benchmark results: 252.46 req/sec

Surprisingly, PHP 7.2 takes the cake with CakePHP. However, all the benchmark results are too close to call a definite winner. PHP 8.0 is just 1.4% slower than PHP 7.2. Future updates to CakePHP 4.x may solve this issue.

PyroCMS 3.8

PyroCMS is an open source CMS that uses the Laravel PHP framework. It boasts of a simple, clean, and consistent control panel. PyroCMS also comes with many modules to make building websites and applications a breeze.

PyroCMS logo

For the PyroCMS benchmark, we used its Starter Theme to set up the test site. It’s the second Laravel-based CMS we tested.

The tested PyroCMS blog page

The tested PyroCMS blog page

 

  • URL Tested: /posts/welcome-to-pyrocms/
  • Theme: Starter Theme
  • Notes: The test page is a blog. We added an image and some dummy content to it. It’s a heavy page, even with not much going on visibly.
  • Image Source: PyroCMS official site
PyroCMS 3.8 PHP benchmarks

PyroCMS 3.8 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • PyroCMS 3.8 PHP 5.6 benchmark results: Unsupported 🚫
  • PyroCMS 3.8 PHP 7.0 benchmark results: Unsupported 🚫
  • PyroCMS 3.8 PHP 7.1 benchmark results: Unsupported 🚫
  • PyroCMS 3.8 PHP 7.2 benchmark results: 30.40 req/sec
  • PyroCMS 3.8 PHP 7.3 benchmark results: 41.28 req/sec
  • PyroCMS 3.8 PHP 7.4 benchmark results: 41.80 req/sec 🏆
  • PyroCMS 3.8 PHP 8.0 benchmark results: Unsupported 🚫

PHP 7.4 edges out the competition in PyroCMS’s benchmark results.

Craft CMS 3.5.17.1

Craft CMS is an open source content management system that’s focused on user-friendliness. Its backend is entirely customizable. With a built-in tool to design custom field layouts for different content types, Craft CMS also makes it super simple to work with custom content types.

If you’re planning to create a custom ecommerce store, check out Craft Commerce. And for a local development environment for Craft CMS, there’s also Craft Nitro.

Craft CMS logo

For the Craft CMS benchmark, we used its free Happy Lager demo site. It’s a simple brochure site that includes dummy data for many pages, including blogs.

The tested Craft CMS blog page

The tested Craft CMS blog page

  • URL Tested: /news/barrel-aged-digital-natives/
  • Theme: Happy Lager
  • Notes: The tested page is a simple blog post with a few images. The top header includes social media icons and a search widget. The main header has the logo and navigation menu, while the footer is empty.
  • Image Source: Craft CMS official repository
Craft CMS 3.5.17.1 PHP benchmarks

Craft CMS 3.5.17.1 PHP benchmarks

Embed the graph on your site:

Tired of a slow host? Kinsta is built with speed and performance in mind. Check out our plans

Benchmark Results

  • Craft CMS 3.5.17.1 PHP 5.6 benchmark results: Unsupported 🚫
  • Craft CMS 3.5.17.1 PHP 7.0 benchmark results: 69.33 req/sec
  • Craft CMS 3.5.17.1 PHP 7.1 benchmark results: 69.23 req/sec
  • Craft CMS 3.5.17.1 PHP 7.2 benchmark results: 75.32 req/sec
  • Craft CMS 3.5.17.1 PHP 7.3 benchmark results: 74.69 req/sec
  • Craft CMS 3.5.17.1 PHP 7.4 benchmark results: 81.68 req/sec 🏆
  • Craft CMS 3.5.17.1 PHP 8.0 benchmark results: Unsupported 🚫

PHP 7.4 took the top spot with Craft CMS. At the time of this test, Craft CMS didn’t support PHP 8 yet, but it’s going to be added soon as per its development status.

ExpressionEngine 6.0.0

ExpressionEngine is a free and open source content management system. Its templating language is simple to learn, making it a popular choice among web designers not skilled in web programming.

ExpressionEngine is a creation of EllisLab, the same folks behind CodeIgniter. However, after the closure of EllisLab, they’re both maintained by different companies now. ExpressionEngine 6 is a complete reimagining of its core, focused on a new interface, refined interactions, functionality, and many other features.

ExpressionEngine logo

For the ExpressionEngine benchmark, we used its default theme and demo content that it includes.

The tested ExpressionEngine blog page

The tested ExpressionEngine blog page

  • URL Tested: /blog/entry/action-comedy-how-to/
  • Theme: Default
  • Notes: The tested page is a demo blog with a Vimeo video widget, text, and many comments. It also contains a sidebar with three widgets: Search, Categories, and RSS feed. There’s also breadcrumbs below the header.
  • Image Source: ExpressionEngine official site
ExpressionEngine 6.0.0 PHP benchmarks

ExpressionEngine 6.0.0 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • ExpressionEngine 6.0.0 PHP 5.6 benchmark results: Unsupported 🚫
  • ExpressionEngine 6.0.0 PHP 7.0 benchmark results: 11.80 req/sec
  • ExpressionEngine 6.0.0 PHP 7.1 benchmark results: 11.39 req/sec
  • ExpressionEngine 6.0.0 PHP 7.2 benchmark results: 13.34 req/sec
  • ExpressionEngine 6.0.0 PHP 7.3 benchmark results: 13.46 req/sec
  • ExpressionEngine 6.0.0 PHP 7.4 benchmark results: 13.92 req/sec
  • ExpressionEngine 6.0.0 PHP 8.0 benchmark results: 13.96 req/sec 🏆

PHP 8.0 won the battle with ExpressionEngine by the slightest of margins.

PrestaShop 1.7.7.1

PrestaShop is a freemium open source ecommerce solution. It includes many built-in features for managing products, payments, orders, shipping, manufacturers, and suppliers. PrestaShop is available in 60 languages, and as per W3Techs, 0.5% of all websites they track use it.

PrestaShop logo

For the PrestaShop benchmark, we used its site demo, which you can generate during its installation.

The tested PrestaShop homepage

The tested PrestaShop homepage

  • URL Tested: / (homepage)
  • Theme: Default
  • Notes:  The tested page has Sign In and Cart links in the top header. Logo, Nav Menu, and a Search widget in the bottom header. Body with Slider, Popular Products widget, Banner ad, Custom Text block, Email Subscription block, and Footer with four widgets made up of links and texts.
  • Image Source: PrestaShop official website
PrestaShop 1.7.7.1 PHP benchmarks

PrestaShop 1.7.7.1 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • PrestaShop 1.7.7.1 PHP 5.6 benchmark results: Unsupported 🚫
  • PrestaShop 1.7.7.1 PHP 7.0 benchmark results: Unsupported 🚫
  • PrestaShop 1.7.7.1 PHP 7.1 benchmark results: 26.71 req/sec
  • PrestaShop 1.7.7.1 PHP 7.2 benchmark results: 27.17 req/sec 🏆
  • PrestaShop 1.7.7.1 PHP 7.3 benchmark results: 26.38 req/sec
  • PrestaShop 1.7.7.1 PHP 7.4 benchmark results: Unsupported 🚫
  • PrestaShop 1.7.7.1 PHP 8.0 benchmark results: Unsupported 🚫

With PrestaShop, there’s not much difference in the benchmark results between the different PHP versions. Unfortunately, at the time of testing, the latest PrestaShop version still didn’t support PHP 7.4, let alone PHP 8.0.

Backdrop CMS 1.18.0-preview

Backdrop CMS is a free and open source CMS with a built-in upgrade path from Drupal 7. As it’s a fork of Drupal, it maintains most of Drupal 7’s features and functionality.

Backdrop logo

For benchmarking Backdrop CMS, we used its Lateral theme to set up the test site. It’s a highly configurable theme with a modern design.

The tested Backdrop CMS homepage

The tested Backdrop CMS homepage

  • URL Tested: / (homepage)
  • Theme: Lateral
  • Notes: The tested page has a Logo, a Nav Menu, a cover background on the right with text overlay, and a blog roll below. There’s also a simple footer with text. We disabled “Anonymous cache” in the Backdrop CMS settings to test PHP’s raw performance.
  • Image Source: Backdrop official site
Backdrop CMS 1.18.0-preview PHP benchmarks

Backdrop CMS 1.18.0-preview PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • Backdrop CMS 1.18.0-preview PHP 5.6 benchmark results: Unsupported 🚫
  • Backdrop CMS 1.18.0-preview PHP 7.0 benchmark results: 42.01 req/sec
  • Backdrop CMS 1.18.0-preview PHP 7.1 benchmark results: 40.51 req/sec
  • Backdrop CMS 1.18.0-preview PHP 7.2 benchmark results: 43.03 req/sec
  • Backdrop CMS 1.18.0-preview PHP 7.3 benchmark results: 43.08 req/sec 🏆
  • Backdrop CMS 1.18.0-preview PHP 7.4 benchmark results: 42.23 req.sec
  • Backdrop CMS 1.18.0-preview PHP 8.0 benchmark results: Unsupported 🚫

PHP 7.3 edged out PHP 7.4 slightly with Backdrop CMS. We wonder how it’ll perform on PHP 8.0, but Backdrop CMS is unlikely to support it soon.

concrete5 9.0.0a3

concrete5 is a free and open source CMS that’s focused on users with minimum technical skills. It allows you to edit site content and images directly on the page, making it simple to quickly change site content.

concrete5 logo

For the concrete5 benchmark, we used the “Full Site” option during installation to generate a demo site. It creates a demo site with the Elemental theme so that you can start experimenting with concrete5 right away.

The tested concrete5 blog page

The tested concrete5 blog page

  • URL Tested: /blog/a-beautiful-blog/
  • Theme: Elemental
  • Notes: The tested page is a blog with some text, image, and comments section. There’s also a sidebar with widgets such as Last Post, Social Media Links, Topics, and Related Posts.
  • Image Source: concrete5 official website
concrete5 9.0.0a3 PHP benchmarks

concrete5 9.0.0a3 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • concrete5 9.0.0a3 PHP 5.6 benchmark results: Unsupported 🚫
  • concrete5 9.0.0a3 PHP 7.0 benchmark results: Unsupported 🚫
  • concrete5 9.0.0a3 PHP 7.1 benchmark results: Unsupported 🚫
  • concrete5 9.0.0a3 PHP 7.2 benchmark results: 67.59 req/sec
  • concrete5 9.0.0a3 PHP 7.3 benchmark results: 69.76 req/sec
  • concrete5 9.0.0a3 PHP 7.4 benchmark results: 73.37 req/sec 🏆
  • concrete5 9.0.0a3 PHP 8.0 benchmark results: Unsupported 🚫

PHP 7.4 emerged as the winner with concrete5 benchmark results. It performs 8.55% more requests per second than on PHP 7.2.

Kirby 3.5.0

Kirby is a flat-file CMS focused on content creation and publishing. While its source code is available publicly, it’s not free to use on a public server. With Kirby, you can customize your editing interface with forms, articles, galleries, spreadsheets, and more.

Kirby logo

You can install Kirby with a Starterkit, which sets up a fully functional demo site. We used it for this benchmark.

The tested Kirby blog page

The tested Kirby blog page

  • URL Tested: /notes/himalaya-and-back/
  • Theme: Starterkit
  • Notes: The tested page is a blog with a featured image, some text, 3 tags, a “Keep on reading” widget, and a footer.
  • Image Source: Kirby official website
Kirby 3.5.0 PHP benchmarks

Kirby 3.5.0 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • Kirby 3.5.0 PHP 5.6 benchmark results: Unsupported 🚫
  • Kirby 3.5.0 PHP 7.0 benchmark results: Unsupported 🚫
  • Kirby 3.5.0 PHP 7.1 benchmark results: Unsupported 🚫
  • Kirby 3.5.0 PHP 7.2 benchmark results: Unsupported 🚫
  • Kirby 3.5.0 PHP 7.3 benchmark results: 1879.99 req/sec
  • Kirby 3.5.0 PHP 7.4 benchmark results: 1976.88 req/sec
  • Kirby 3.5.0 PHP 8.0 benchmark results: 2001.91 req/sec 🏆

PHP 8.0 hit it out of the park with Kirby’s benchmarks. It’s also worth mentioning that Kirby handled most requests per second across all the PHP platforms we tested. Even though it’s an apples and oranges comparison, that still something to live up to. Its main drawback is that it’s not free to use.

Pico 2.1.4

Pico is a flat-file CMS that makes creating and maintaining websites as easy as editing text files. It’s completely free to use and is open source. Since it doesn’t use a database, Pico is blazing fast to load.

Pico CMS logo

Pico installs with content explaining how to use it. Quite smart! We used its default site for the benchmark.

The tested Pico homepage

The tested Pico homepage

  • URL Tested: / (homepage)
  • Theme: Default
  • Notes: The tested page is Pico’s default homepage with lots of content explaining how to use its various features, including its markdown editor and twig templates. Though Pico claims to support PHP 7.1 and older versions, it doesn’t work due to dependency issues.
  • Image Source: Pico official site
Pico 2.1.4 PHP benchmarks

Pico 2.1.4 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • Pico 2.1.4 PHP 5.6 benchmark results: Unsupported 🚫
  • Pico 2.1.4 PHP 7.0 benchmark results: Unsupported 🚫
  • Pico 2.1.4 PHP 7.1 benchmark results: Unsupported 🚫
  • Pico 2.1.4 PHP 7.2 benchmark results: 547.87 req/sec
  • Pico 2.1.4 PHP 7.3 benchmark results: 604.49 req/sec
  • Pico 2.1.4 PHP 7.4 benchmark results: 670.72 req/sec 🏆
  • Pico 2.1.4 PHP 8.0 benchmark results: 642.67 req/sec 

PHP 7.4 earned the gold medal with Pico, though PHP 8.0 isn’t that far behind.

Photon CMS 1.2.1

Photon CMS is a headless content management system built on Laravel and Vue.js web frameworks. With its API-first philosophy, you can use it to build any type of web app, including mobile apps with its RESTful API.

Photon CMS logo

We used Photon CMS’s default homepage for its benchmark by adding some dummy content to set up the test site.

The tested Photon CMS homepage

The tested Photon CMS homepage

  • URL Tested: / (homepage)
  • Theme: Default
  • Notes: The tested page is the default homepage generate by Photon CMS, with some dummy content added to it.
  • Image Source: Photon CMS official site
Photon CMS 1.2.1 PHP benchmarks

Photon CMS 1.2.1 PHP benchmarks

Embed the graph on your site:

Benchmark Results

  • Photon CMS 1.2.1 PHP 5.6 benchmark results: Unsupported 🚫
  • Photon CMS 1.2.1 PHP 7.0 benchmark results: Unsupported 🚫
  • Photon CMS 1.2.1 PHP 7.1 benchmark results: Unsupported 🚫
  • Photon CMS 1.2.1 PHP 7.2 benchmark results: 456.63 req/sec
  • Photon CMS 1.2.1 PHP 7.3 benchmark results: 482.89 req/sec
  • Photon CMS 1.2.1 PHP 7.4 benchmark results: 500.9 req/sec 🏆
  • Photon CMS 1.2.1 PHP 8.0 benchmark results: Unsupported 🚫

PHP 7.4 performed the fastest with Photon CMS. As it uses Laravel, expect it to include support for PHP 8.0 soon.

PHP 8.0 emerged as the champion in most PHP platforms that support it, including WordPress and Laravel. Upgrade your server’s PHP version today 🚀Click to Tweet

Update to PHP 8.0 at Kinsta

PHP 8.0 introduced a lot of unique features. Some of them are radical, breaking changes that aren’t compatible with the previous PHP versions.

There’s no reason you shouldn’t update to PHP 8.0 if all your website’s features work fine on it. If the above results don’t convince you yet, we aren’t sure what else will!

As a friendly reminder, all Kinsta clients can use PHP 7.3,7.4, and 8.0 with our custom self-healing database configuration.

Kinsta supports PHP 7.3, 7.4, and 8.0

Kinsta supports PHP 7.3, 7.4, and 8.0

And if you’re worried about breaking your site due to incompatibilities with a third-party plugin (which can happen), we have staging sites. 👍

You can use our staging sites feature to test away endlessly without worrying about breaking your production site. Once you’re sure that everything works perfectly, you can push the changes live with the press of a button.

Takeaway From Benchmark Results

Compiled PHP benchmarks of the top platforms

Compiled PHP benchmarks of the top platforms

From the benchmark results above, you can see that PHP 8.0 leads the pack in most PHP platforms and configurations, closely followed by PHP 7.4.

Here’s our extended takeaway from the 2021 PHP benchmark results:

  • For WordPress, PHP 8.0 was the fastest in all benchmarks (Stock WordPress 5.6, WooCommerce, and Easy Digital Downloads).
  • If you’re using WordPress, and all your themes and plugins are compatible with PHP 8.0, there’s no reason you shouldn’t update your PHP version to PHP 8.0. You’ll appreciate the performance benefits it brings.
  • PHP 8.0 was also the fastest with Laravel framework, which is the most popular PHP framework to build web apps. The same holds for many other popular content management systems.
  • If any of the plugins or themes you use aren’t compatible with PHP 8.0, we suggest you get in touch with their developers and let them know.
  • With support for PHP 7.3 ending soon in late 2021, you should plan to move your sites to PHP 7.4 and above as soon as possible.
  • PHP 8.0 heralds a new dawn for PHP, much like PHP 7.0 was when PHP 5.6 reigned supreme. We expect the later PHP 8.x versions to be optimized further for performance and security.
  • We didn’t test PHP 8.0 with JIT enabled. While PHP’s new JIT compiler won’t bring any significant performance benefits to real-apps such as WordPress, it’ll be interesting to see how it plays out in actual usage.
  • Rethink your hosting provider if they don’t keep up with the newer versions of PHP.
  • As mentioned earlier, please test your site thoroughly before updating your webserver’s environment to PHP 8.0. The WordPress Core team still considers WordPress 5.6 to be only “beta compatible” with PHP 8.
  • Besides upgrading to the latest PHP version, WordPress users can further speed up their sites with many other web performance enhancement techniques. We’ve compiled them all in our ultimate guide on how to speed up your WordPress site.

It was a blast benchmarking all the various PHP platforms. We’re mighty excited about PHP 8.0. We hope you are too!

If you have any thoughts regarding our benchmarks or experiences with upgrading PHP versions, we’d love to hear them. Drop them below in the comments!