编程

PHP 版本统计:2025-01

25 2025-02-28 12:26:00

本文是关于整个社区 PHP 版本使用情况的统计。这些数据或许并不能百分百准确地将整个 PHP 社区的生态现状,但可以准确地表示 packagist (PHP 包)生态的情况。

使用统计

让我们先看看今天使用的 PHP 版本的百分比。我省略了所有使用率不超过 1% 的版本:

版本2023-072024-012024-072025-01
7.24.3%2.5%2.0%1.6%
7.34.2%3.2%1.9%1.5%
7.419.9%13.6%10.2%7.6%
8.012.3%7.2%5.4%3.4%
8.139.3%35.2%26.1%18.1%
8.217.2%29.4%32.3%28.6%
8.30.2%6.4%19.9%32.7%
8.40.0%0.0%0.0%5.1%

让我们也比较一下自 PHP 8.1 以来的第一个月的使用情况:

版本首月使用情况
8.19.1%
8.24.7%
8.36.4%
8.45.1%

PHP 8.4 的性能不是最好的,但也不是最差的。*.1 版本的采用速度更快是有道理的,因为它通常会解决之前 *.0 版本的一些问题。8.3 排在第二位让我有点惊讶:这是一个相当无聊的版本,而 8.4 有更多令人兴奋的新功能。另一方面:无聊可能正是人们能够更快更新的原因。

所需的版本

除了 Packagist 的数据,还使用 Nikita 的流行包分析器下载了 1000 个最受欢迎的 composer 包。我使用脚本扫描这些包并确定其最低要求版本。结果如下:

版本2023-072024-012024-072025-01
5.27755
5.365585052
5.431282626
5.521161515
5.632302931
7.024242425
7.112510093101
7.2133123118123
7.356494245
7.497878081
8.0144126123128
8.1107154184194
8.294135153171
8.3-044
8.4---0

这里有两个重要的注意事项。

  1. 此表显示了所需的最低版本。这意味着最小版本为 8.0 的包也可以支持 PHP 8.1、PHP 8.2、PHP 8.3 和 PHP 8.4。
  2. 如果你数一数,你会发现每年都有一些差异。并非每个包都列出了有效的版本字符串。

新版本的采用率似乎有所放缓,但请记住,这不一定是坏事:需要 php: ^8.0 的包也会自动支持 php 8.4。

另一方面(我之前已经多次提出过这个论点):我相信,如果开源维护人员更加努力地跟上最新的 PHP 版本,PHP 社区将整体受益。得益于 Rector 等自动化工具,我们正处于升级从未如此简单的时代;保持项目与最新 PHP 版本保持同步只会带来好处(安全性、性能和新功能)。