PHP 8.5 is out, and developers are eager to see what performance improvements await their favorite CMSs and frameworks.

To get a complete picture, we benchmarked 12 of the most widely used CMSs and frameworks—like WordPress, WooCommerce, Drupal, Joomla, Laravel, and CodeIgniter—across PHP 8.2, 8.3, 8.4, and 8.5 using a controlled testing environment. Since a significant portion of sites still rely on PHP 7.4, we also included WordPress benchmarks for that version.

Our goal: offer a clear, pragmatic overview of how PHP performance changes between versions, and what you can expect from an upgrade.

Our PHP benchmarking setup

To keep our comparisons fair and repeatable, each benchmark ran in a uniform, isolated environment using Docker Compose. Every combination of PHP version and CMS or framework was tested individually, each with its dedicated containers, database, and configs.

Test environment

  • Machine: Ubuntu 24.04.3 LTS virtual machine (internal benchmarking setup), 30 vCPU, 120 GB RAM, 100 GB SSD.
  • Virtualization: Google Cloud Platform compute instance housed in a Docker environment.
  • Web stack: nginx:alpine or nginx:stable (per CMS needs) with PHP-FPM (official Docker images), JIT disabled, OPcache enabled using production defaults.
  • Database: MariaDB 10.11 (official Docker image).
  • PHP versions tested: 7.4, 8.2, 8.3, 8.4, and 8.5, all using official php:<version>-fpm Docker images.
  • Tooling: ApacheBench (ab), five runs per setup, with a single warmup request ahead of each run.
  • Parameters:
    • Concurrency: 15 simultaneous requests
    • Requests per run: 1000
  • Results: Measured in requests per second (req/s). Higher values indicate better performance.

Configuration details

We mirrored basic production settings for both application and server config:

  • PHP and OPcache:
    • memory_limit=128M (Drupal: 256M)
    • max_execution_time=30
    • opcache.enable=1, opcache.jit_buffer_size=0
    • opcache.memory_consumption=128
    • Interned strings buffer: 8 MB (16 MB for WordPress)
    • Timestamp checks: every 2 seconds (validate_timestamps=0 for WordPress)
    • No extra FPM tuning
  • Framework and CMS settings:
    • Laravel: APP_ENV=production, APP_DEBUG=false
    • WordPress: WP_DEBUG=false
    • Drupal: Production mode (no dev modules)
    • No debug tools, profiler plugins, or dev extensions

Let’s dig into the findings.

WordPress

WordPress.org is an open-source CMS and stands as the leading platform globally, powering over 43% of all websites.

Created for blogging, WordPress has grown into a highly flexible tool for everything from personal blogs to enterprise-grade ecommerce. The WordPress REST API lets it operate as a headless CMS, making it compatible with modern JavaScript front ends and static site generators.

This round of benchmarking used the default WordPress 6.8.0 installation, without plugins or external caching.

WordPress benchmarks

  • Tested Versions: WordPress 6.8.0
  • Tested URL: /
  • Response size: 49,788 bytes (~48.6 KB)
  • Results:
    • PHP 7.4: 139.06 req/s
    • PHP 8.2: 146.09 req/s
    • PHP 8.3: 142.75 req/s
    • PHP 8.4: 148.22 req/s
    • PHP 8.5: 148.30 req/s
WordPress 6.8.0 performance on PHP 7.4, 8.2, 8.3, 8.4 and 8.5 (in req/s).
WordPress 6.8.0 performance on PHP 7.4, 8.2, 8.3, 8.4, and 8.5 (in req/s).

WordPress consistently improves as you move from PHP 7.4 to more recent releases, with PHP 8.4 and 8.5 leading at around 148 req/s (PHP 8.5 slightly ahead). The jump from 7.4 to 8.5 is roughly 6.6%, showing the biggest improvement for sites still running the older version.

WooCommerce

WooCommerce is the most popular WordPress ecommerce plugin, powering over three million live stores—about 8% of all ecommerce businesses online.

WooCommerce sits atop the WordPress ecosystem, letting users take advantage of plugins, WP-CLI, hooks, filters, and REST API endpoints for flexible and extensive online store management.

WooCommerce benchmarks

  • Tested version: Woo 10.2.2 on WordPress 6.8.0
  • Tested URL: /?post_type=product
  • Response size: 88,855 bytes (~86.8 KB) and 54,822 bytes (~53.5 KB) on PHP 8.5
  • Results:
    • PHP 7.4: 44.20 req/s
    • PHP 8.2: 54.67 req/s
    • PHP 8.3: 53.74 req/s
    • PHP 8.4: 53.37 req/s
    • PHP 8.5: 71.02 req/s
Woo 10.2.2 performance on PHP 7.4, 8.2, 8.3, 8.4 and 8.5 (in req/s).
Woo 10.2.2 performance on PHP 7.4, 8.2, 8.3, 8.4 and 8.5 (in req/s).

WooCommerce really benefits from modern PHP upgrades. PHP 8.2 is about 23% faster than 7.4. Performance remains steady between 8.2 and 8.4, but PHP 8.5 posts a substantial jump—a 33% increase over 8.4, correlated to a smaller payload size during testing. This suggests a reduction in rendered output or processing overhead in the latest release.

WordPress Easy Digital Downloads (EDD)

Easy Digital Downloads (EDD) is geared toward selling digital goods—downloads, software licenses, subscriptions—and is especially popular for sites selling online courses or digital media.

EDD benchmarks

  • Tested version: Easy Digital Downloads 3.5.2 on WordPress 6.8
  • Tested URL: /?page_id=9
  • Response size: 54,177.75 bytes (~ 52.92 KB)
  • Results:
    • PHP 8.2: 85.80 req/s
    • PHP 8.3: 85.69 req/s
    • PHP 8.4: 85.54 req/s
    • PHP 8.5: 86.52 req/s
EDD 3.5.2 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
EDD 3.5.2 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).

EDD maintains almost identical throughput across PHP 8.2 through 8.5, signaling that it’s already running efficiently and isn’t notably affected by minor PHP version updates.

Laravel

Laravel is an open-source PHP framework designed to streamline modern application development, featuring tools like Artisan CLI, built-in authentication, and an MVC architecture.

Laravel benchmarks

  • Tested version: Laravel 12.33.0
  • Tested URL: /
  • Response size: 80,650 bytes (~ 78.8 KB)
  • Results:
    • PHP 8.2: 730.11 req/s
    • PHP 8.3: 708.44 req/s
    • PHP 8.4: 695.98 req/s
    • PHP 8.5: 700.33 req/s
Laravel 12.33.0 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
Laravel 12.33.0 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).

Performance across PHP 8.x versions is steady: PHP 8.2 posts the highest throughput, but lower versions are close behind. These differences fall well within normal performance variance.

Symfony

Symfony stands as one of the most adopted PHP frameworks, downloaded over 85 million times via Packagist. Its robust component architecture is at the foundation of many PHP projects. Community demand led to its inclusion in these benchmarks.

The Symfony app here uses Doctrine ORM for database access, retrieves records via a controller, and renders them through Twig templates—mirroring practical, everyday workloads.

Symfony benchmarks

  • Tested version: Symfony 7.4
  • Tested URL: /
  • Response size: 12,175 bytes (~11.9 KB)
  • Results:
    • PHP 8.2: 1018.84 req/s
    • PHP 8.3: 953.88 req/s
    • PHP 8.4: 992.53 req/s
    • PHP 8.5: 1002.17 req/s
Symfony 7.4 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
Symfony 7.4 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).

Symfony maintains steady throughput. PHP 8.2 edges out the others, but PHP 8.5 is nearly as fast. The consistent response size verifies that the comparative results reflect runtime performance rather than app logic changes.

Joomla

Joomla is a well-known open-source CMS operating on a modular MVC architecture, making it adaptable and easy to extend through numerous plugins and templates.

Joomla benchmarks

  • Tested version: Joomla 5.2.2
  • Tested URL: /
  • Response size: 7,713 bytes (~ 7.5 KB)
  • Results:
    • PHP 8.2: 290.30 req/s
    • PHP 8.3: 287.37 req/s
    • PHP 8.4: 289.23 req/s
Joomla 5.2.2 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
Joomla 5.2.2 performance on PHP 8.2, 8.3, 8.4, and 8.5 (in req/s).

Joomla performance is extremely consistent. Throughput stays in a narrow range, with neither regressions nor unexpected improvements across PHP 8.2–8.4.

Drupal

Drupal is renowned for its security, scalability, and adaptability, making it a favorite for complex sites in enterprise, higher ed, and government sectors. It excels in content flexibility, multilingual support, and advanced permissions.

Drupal 7 officially reached end of life in January 2025 after 14 years, but 31% of more than 684,000 active Drupal sites still use it. Our benchmarks include Drupal 7, 10, and 11 to reflect the migration phase.

Drupal benchmarks

  • Tested version: Drupal 7, 10, and 11
  • Tested URL: /
  • Response sizes:
    • Drupal 7 – 7,985 bytes (~ 7.8 KB)
    • Drupal 10 – 16,476 bytes (~ 16.1 KB)
    • Drupal 11 – 15,606 bytes (~ 15.2 KB)
  • Results for Drupal 7:
    • PHP 8.2: 907.53 req/s
    • PHP 8.3: 900.26 req/s
  • Results for Drupal 10:
    • PHP 8.2: 1401.43 req/s
    • PHP 8.3: 782.84 req/s
    • PHP 8.4: 1391.39 req/s
  • Results for Drupal 11:
    • PHP 8.3: 782.84 req/s
    • PHP 8.4: 817.40 req/s
Drupal 7, 10 and 11 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
Drupal 7, 10 and 11 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).

Drupal 10 peaks on PHP 8.2 and 8.4 with much higher throughput than PHP 8.3. Drupal 11’s slightly lower throughput, between 780 and 840 req/s, reflects ongoing transition. Drupal 7 remains stable at about 920 req/s across its supported PHP 8 versions.

CakePHP

CakePHP is built to help developers craft dependable web applications efficiently, with an emphasis on modern PHP practices.

Version 5 brings valuable upgrades for ORM, dependency injection, middleware, and type safety, all geared at boosting both performance and developer workflow.

CakePHP benchmarks

  • Tested version: CakePHP 5.2.0
  • Tested URL: /
  • Response size: 7,573 bytes (~ 7.4 KB)
  • Results:
    • PHP 8.2: 74.70 req/s
    • PHP 8.3: 75.53 req/s
    • PHP 8.4: 74.16 req/s
    • PHP 8.5: 73.76 req/s
CakePHP 5.2.0 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
CakePHP 5.2.0 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).

CakePHP is impressively steady in these tests—results span a tight band from 73 to 76 req/s, with PHP 8.3 topping the chart.

CodeIgniter

CodeIgniter is designed for developers who need quick, secure, and straightforward tools to build feature-rich web applications on a minimal core.

Modern versions emphasize simplicity alongside PSR standards, better dependency management, safe output handling, and robust protection against web security threats.

CodeIgniter benchmarks

  • Tested version: CodeIgniter 4.6.3
  • Tested URL: /
  • Response size: 46,103 bytes (~ 45 KB) and 17,243 bytes (~ 17 KB) on PHP 8.5
  • Results:
    • PHP 8.2: 1,216.41 req/s
    • PHP 8.3: 1,197.53 req/s
    • PHP 8.4: 1,214.03 req/s
    • PHP 8.5: 1,874.14 req/s
CodeIgniter 4.6.3 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
CodeIgniter 4.6.3 performance on PHP 8.2, 8.3, 8.4, and 8.5 (in req/s).

Through PHP 8.2–8.4, throughput remains steady, just over 1,200 req/s. In PHP 8.5, throughput leaps ahead—up by 54%—which lines up with a much smaller response size, hinting at less output or streamlined content for that specific run.

Craft CMS

Craft CMS focuses on delivering flexible, content-driven solutions for development teams, putting control over structure, design, and content workflows in your hands. Its adaptability has made it popular among creative and enterprise users alike.

Craft CMS benchmarks

  • Tested version: Craft CMS 5.0
  • Tested URL: /
  • Response size: 6,257 bytes (~ 6.1 KB)
  • Results:
    • PHP 8.2: 201.23 req/s
    • PHP 8.3: 197.04 req/s
    • PHP 8.4: 196.23 req/s
    • PHP 8.5: 197.70 req/s
Craft CMS 5.0 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
Craft CMS 5.0 performance on PHP 8.2, 8.3, 8.4, and 8.5 (in req/s).

These numbers are tightly clustered. Whether on PHP 8.2 or 8.5, Craft CMS delivers consistent performance, with the top result a small edge in favor of PHP 8.2.

October CMS

October CMS is a Laravel-powered content platform focused on simplicity, flexibility, and performance. It serves over 100,000 websites globally.

Since it’s built with Laravel under the hood, it provides a familiar workflow for Laravel developers and extends it with visual content management, plugins, and reusable CMS elements for rapid custom deployments.

October CMS benchmarks

  • Tested version: October CMS 4.0 (using Laravel 12.0)
  • Tested URL: /
  • Response size: 17,211 bytes (~ 16.8 KB)
  • Results:
    • PHP 8.2: 173.54 req/s
    • PHP 8.3: 152.75 req/s
    • PHP 8.4: 151.38 req/s
    • PHP 8.5: 162.71 req/s
October CMS 4.0 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
October CMS 4.0 performance on PHP 8.2, 8.3, 8.4, and 8.5 (in req/s).

October CMS shows its best speeds on PHP 8.2, dips with 8.3 and 8.4, then regains ground with PHP 8.5. This mirrors trends seen with other Laravel-based systems and indicates stable, but minimally fluctuating, performance over 8.x releases.

OpenCart

OpenCart is a leading open-source ecommerce platform powering over 470,000 businesses, known for its friendly interface and flexibility for stores big and small.

Features like a centralized dashboard, built-in SEO, support for multiple storefronts, and a large extension marketplace underscore why OpenCart remains popular for ecommerce projects.

OpenCart benchmarks

  • Tested version: OpenCart CMS 4.1.0.3
  • Tested URL: /
  • Response size: 32,713 bytes (~ 32.0 KB)
  • Results:
    • PHP 8.2: 143.47 req/s
    • PHP 8.3: 142.04 req/s
    • PHP 8.4: 141.54 req/s
    • PHP 8.5: 142.45 req/s
OpenCart CMS 4.1.0.3 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
OpenCart CMS 4.1.0.3 performance on PHP 8.2, 8.3, 8.4, and 8.5 (in req/s).

OpenCart delivers consistent performance no matter which PHP 8.x version is running, with results all within a slim margin of each other—exhibiting no regressions and minor differences between releases.

Grav

Grav is a file-based CMS that’s all about speed and ease-of-use. Without a database, it stores and serves content as Markdown files, minimizing overhead and streamlining deployment.

Grav benchmarks

  • Tested version: Grav 1.8.0
  • Tested URL: /
  • Response size: 13,814 bytes (~ 13.5 KB)
  • Results:
    • PHP 8.2: 600.36 req/s
    • PHP 8.3: 603.66 req/s
    • PHP 8.4: 586.49 req/s
    • PHP 8.5: 1,029.07 req/s
Grav 1.8.0 performance on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
Grav 1.8.0 performance on PHP 8.2, 8.3, 8.4, and 8.5 (in req/s).

Grav is stable across PHP 8.2–8.4 (just over 600 req/s), but jumps by about 75% in PHP 8.5, indicating a substantial efficiency gain in the most recent release.

PHP usage statistics

With the release of PHP 8.5, the language keeps modernizing—adding features like the pipe operator (|>), better fatal error stack traces, and tools like IntlListFormatter for easier internationalization. These enhancements improve developer workflow while preserving PHP’s vast compatibility.

For a broader view, here are some key stats on PHP’s place in the web ecosystem:

Share of server-side languages

PHP maintains its lead as the server-side language of choice, powering over 73% of all sites that involve server-side processing.

Distribution of server-side powered web apps (W3Techs).
Distribution of server-side powered web apps (W3Techs).

PHP’s position among server-side languages

Although JavaScript is prevalent among high-traffic developers, PHP remains solidly in the mix for mainstream, high-volume sites with a steady average traffic rank year over year.

It continues to underpin some of the world’s most visited websites, such as microsoft.com, facebook.com, wikipedia.org, wordpress.org, and wordpress.com.

Market positions among server-side programming languages. (W3Techs).
Market positions among server-side programming languages. (W3Techs).

Long-term usage trends

PHP’s long-standing dominance is attributed to its mature ecosystem, flexible design, reliable backward compatibility, and ease of maintenance. These traits allow both legacy and new applications to thrive on PHP.

Programming languages usage through time (W3Techs).
Programming languages usage through time (W3Techs).

PHP version adoption and upgrade trends

Many developers take a conservative approach to major PHP upgrades, which shapes the version distribution. When 8.0 launched, adoption was slow due to concerns about compatibility with 7.4. Since PHP 7.4’s end of life in January 2023, adoption patterns have evolved.

  • PHP 7.4 usage has dropped from 35% (2023) to 27.8% at present
  • The total PHP 7.x family now makes up 36.9% of active installs
PHP subversion usage (W3Techs).
PHP subversion usage (W3Techs).

Conclusion

Across the 12 applications tested, our 2025 benchmarks make it clear: for most real workloads, PHP 8.2, 8.3, 8.4, and 8.5 performance is very similar.

Performance of all tested CMSs and frameworks on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).
Performance of all tested CMSs and frameworks on PHP 8.2, 8.3, 8.4 and 8.5 (in req/s).

Modern PHP engines are already highly tuned, so major leaps in raw speed are rare from incremental version updates. Upgrading PHP is important for security and compatibility, but usually won’t turn slow sites into fast ones overnight.

Performance in practice is determined as much by your environment as your codebase. Variables such as server resources, PHP worker limits, caching, isolation, and database optimization play major roles in delivering a fast user experience regardless of which PHP version you run.

WordPress and its ecommerce plugins, such as WooCommerce and Easy Digital Downloads, gain from these upgrades—especially when handling large traffic bursts or site complexity.

Interpretation of Results and Real-World Considerations

While these benchmarks provide clean, repeatable performance measurements under controlled settings, it’s important to note that real-world outcomes may differ significantly, especially on production infrastructure with more complex traffic patterns, plugin usage, caching strategies, and distributed setups. For developers and operations teams, here are a few contextual notes worth considering alongside the numbers:

  • Caching Layers: In production, reverse proxies (like Varnish or Cloudflare), object caching (Redis/Memcached), and page caches can have a far greater impact than raw PHP throughput, masking most underlying PHP version differences.
  • Extension & Plugin Compatibility: Some sites rely on legacy plugins, modules, or custom business logic not always compatible with the latest PHP releases—potentially delaying upgrades or causing regressions during migrations.
  • Code Quality: Optimizations in application logic, database queries, and asset delivery regularly outweigh minor PHP performance improvements. Sites with efficient queries and minimal code bloat consistently outperform those with poor architectural choices.
  • PHP JIT: The Just-In-Time compilation (JIT) engine, which remains disabled in many real deployments (as in these benchmarks), may offer extra performance gains for compute-heavy work, though its web impact is typically modest for standard CMS workloads.
  • Security: Performance aside, upgrading to the latest PHP release is critical for protection against newly discovered vulnerabilities and for maintaining supported, hardened environments.

Best Practices for Upgrading PHP in Production

  • Test in Staging: Before upgrading live servers, always test on a staging environment mirroring your production stack—this ensures plugins, themes, and custom code are compatible and performing as expected.
  • Track Compatibility: Monitor CMS or framework release notes and follow active support forums to identify known issues for your PHP target version.
  • Incremental Upgrades: If skipping multiple versions, upgrade incrementally and address deprecations early. This is especially critical when moving from older versions like PHP 7.4 to the latest PHP 8.x releases.
  • Enable Error Reporting Temporarily: During upgrade testing, enable verbose error reporting to catch deprecated or incompatible function calls—then disable it in production to avoid exposing sensitive information.
  • Leverage OPcache & Real Caching: Ensure OPcache is enabled and properly configured, and review object/page caching plugins for optimal results on heavy-load sites.

With each iteration, PHP evolves with new features that streamline developer productivity and future-proof applications. The latest PHP 8.5 release includes:

  • Pipe operator (|>): Simplifies function chaining, making code more expressive and readable.
  • Enhanced stack traces: Debugging is more intuitive thanks to better error visibility and reporting in fatal error cases.
  • Additional Intl improvements: Classes like IntlListFormatter natively address internationalization requirements, benefiting global sites.
  • Improved type system and syntax sugar: Refined union types and readonly classes encourage strong typing and safer, more maintainable codebases.

Upgrading to the latest version helps teams leverage these enhancements, even if raw speed isn’t vastly increased with each release.

Supplementary CMS & Framework Performance Insights

Why Do Some Apps Show Larger Jumps?

As seen with WooCommerce, CodeIgniter, and Grav, some apps show dramatic throughput increases in PHP 8.5, often due to reduced output sizes, internal refactoring, or better synergy with updated dependencies. In practical terms, these advantages might manifest as snappier API endpoints, faster admin experiences, or higher resilience under peak loads. Projects maintaining lean code and updated plugins typically maximize these benefits.

Case Studies in Compatibility

  • Drupal migrations: If you’re moving from Drupal 7 to newer versions, or from PHP 7.x to 8.x, expect the need for theme and module rewrites. Benchmarks confirm that throughput can change significantly, especially when new caching engines or components come into play.
  • Legacy WordPress: Sites on PHP 7.4 or below face both security and performance risks. Upgrading directly to 8.4 or higher has clear benefits, but check all plugins for PHP 8.x readiness first.

Final Thoughts: Should You Upgrade PHP?

While major CMSs and frameworks perform similarly across recent PHP versions, the extra stability, security, and new features in each release justify upgrading as soon as practical. Sites relying on advanced ecommerce plugins or serving high volumes of traffic will see the biggest direct performance improvements, but all applications benefit from a modern PHP codebase in terms of reliability, support, and maintainability.

Upgrading PHP should be part of a holistic optimization strategy—including tuning database access, activating full-page caching, and ensuring application-level best practices. With PHP 8.5, teams get a solid, feature-rich foundation for the next generation of web experiences.

The images and tests are from kinsta.com

  • PHP 8.5 benchmarks: PHP performance across major CMSs and frameworks

    PHP 8.5 benchmarks: PHP performance across major CMSs and frameworks

    PHP 8.5 is out, and developers are eager to see what performance improvements await their favorite CMSs and frameworks. To get a complete picture, we benchmarked 12 of the most widely used CMSs and frameworks—like WordPress, WooCommerce, Drupal, Joomla, Laravel, and CodeIgniter—across PHP 8.2, 8.3, 8.4, and 8.5 using a controlled testing environment. Since a…

  • PHP 8.5: Faster, Smarter, Developer-Friendly Upgrades

    PHP 8.5: Faster, Smarter, Developer-Friendly Upgrades

    The PHP Group has introduced PHP 8.5, the latest version of the open source scripting language widely used across the Web, including for websites built with WordPress. PHP 8.5, released in November, continues the community’s promise to ship major versions every year, along with two years of active support for each new release. With 8.5…