PHP versions exposed by 10,110 websites

Distribution of PHP versions across the public sites in our index whose servers leak the version in HTTP response headers.

Sample is biased. Most modern hosts hide the PHP version (PHP's expose_php = Off, CDN header stripping, security plugins). This page shows what's visible — typically less than 1% of all PHP-based sites — and skews toward installations without basic header hardening. Do not extrapolate these shares to "the web at large".

PHP 8.4 — 1,006 sites (10.0%) PHP 8.5 — 173 sites (1.7%) PHP 8.3 — 2,259 sites (22.3%) · security-only PHP 8.2 — 1,855 sites (18.3%) · security-only PHP 7.4 — 1,845 sites (18.2%) · end of life PHP 8.1 — 1,088 sites (10.8%) · end of life PHP 8.0 — 435 sites (4.3%) · end of life PHP 5.6 — 388 sites (3.8%) · end of life PHP 7.3 — 308 sites (3.0%) · end of life PHP 7.2 — 203 sites (2.0%) · end of life PHP 5.4 — 120 sites (1.2%) · end of life PHP 7.1 — 104 sites (1.0%) · end of life PHP 5.5 — 101 sites (1.0%) · end of life PHP 5.3 — 91 sites (0.9%) · end of life PHP 7.0 — 89 sites (0.9%) · end of life PHP 5.2 — 40 sites (0.4%) · end of life PHP 5.1 — 2 sites (0.0%) · end of life PHP 4.4 — 2 sites (0.0%) · end of life PHP 4.3 — 1 sites (0.0%) · end of life 8.4 8.3 8.2 7.4 8.1 8.0
VersionStatusSitesShare
PHP 8.3 security-only 2,259 22.3%
PHP 8.2 security-only 1,855 18.3%
PHP 7.4 end of life 1,845 18.2%
PHP 8.1 end of life 1,088 10.8%
PHP 8.4 supported 1,006 10.0%
PHP 8.0 end of life 435 4.3%
PHP 5.6 end of life 388 3.8%
PHP 7.3 end of life 308 3.0%
PHP 7.2 end of life 203 2.0%
PHP 8.5 supported 173 1.7%
PHP 5.4 end of life 120 1.2%
PHP 7.1 end of life 104 1.0%
PHP 5.5 end of life 101 1.0%
PHP 5.3 end of life 91 0.9%
PHP 7.0 end of life 89 0.9%
PHP 5.2 end of life 40 0.4%
PHP 5.1 end of life 2 0.0%
PHP 4.4 end of life 2 0.0%
PHP 4.3 end of life 1 0.0%

Method

Our crawler reads each site's homepage and records the X-Powered-By and Server response headers. When either contains a string like PHP/8.3.10, the version is stored as a plain fact (10,110 sites at last refresh). End-of-life status is computed at render time from php.net's branch table against today's date, never frozen in the database.

Sites whose servers don't disclose the version (the vast majority) are not in the sample — we never guess. See also the domain lookup for the full per-site fingerprint.