PHP 版本统计:2025-01
本文是关于整个社区 PHP 版本使用情况的统计。这些数据或许并不能百分百准确地将整个 PHP 社区的生态现状,但可以准确地表示 packagist (PHP 包)生态的情况。
使用统计
让我们先看看今天使用的 PHP 版本的百分比。我省略了所有使用率不超过 1% 的版本:
版本 | 2023-07 | 2024-01 | 2024-07 | 2025-01 |
7.2 | 4.3% | 2.5% | 2.0% | 1.6% |
7.3 | 4.2% | 3.2% | 1.9% | 1.5% |
7.4 | 19.9% | 13.6% | 10.2% | 7.6% |
8.0 | 12.3% | 7.2% | 5.4% | 3.4% |
8.1 | 39.3% | 35.2% | 26.1% | 18.1% |
8.2 | 17.2% | 29.4% | 32.3% | 28.6% |
8.3 | 0.2% | 6.4% | 19.9% | 32.7% |
8.4 | 0.0% | 0.0% | 0.0% | 5.1% |
让我们也比较一下自 PHP 8.1 以来的第一个月的使用情况:
版本 | 首月使用情况 |
8.1 | 9.1% |
8.2 | 4.7% |
8.3 | 6.4% |
8.4 | 5.1% |
PHP 8.4 的性能不是最好的,但也不是最差的。*.1 版本的采用速度更快是有道理的,因为它通常会解决之前 *.0 版本的一些问题。8.3 排在第二位让我有点惊讶:这是一个相当无聊的版本,而 8.4 有更多令人兴奋的新功能。另一方面:无聊可能正是人们能够更快更新的原因。
所需的版本
除了 Packagist 的数据,还使用 Nikita 的流行包分析器下载了 1000 个最受欢迎的 composer 包。我使用脚本扫描这些包并确定其最低要求版本。结果如下:
版本 | 2023-07 | 2024-01 | 2024-07 | 2025-01 |
5.2 | 7 | 7 | 5 | 5 |
5.3 | 65 | 58 | 50 | 52 |
5.4 | 31 | 28 | 26 | 26 |
5.5 | 21 | 16 | 15 | 15 |
5.6 | 32 | 30 | 29 | 31 |
7.0 | 24 | 24 | 24 | 25 |
7.1 | 125 | 100 | 93 | 101 |
7.2 | 133 | 123 | 118 | 123 |
7.3 | 56 | 49 | 42 | 45 |
7.4 | 97 | 87 | 80 | 81 |
8.0 | 144 | 126 | 123 | 128 |
8.1 | 107 | 154 | 184 | 194 |
8.2 | 94 | 135 | 153 | 171 |
8.3 | - | 0 | 4 | 4 |
8.4 | - | - | - | 0 |
这里有两个重要的注意事项。
- 此表显示了所需的最低版本。这意味着最小版本为 8.0 的包也可以支持 PHP 8.1、PHP 8.2、PHP 8.3 和 PHP 8.4。
- 如果你数一数,你会发现每年都有一些差异。并非每个包都列出了有效的版本字符串。
新版本的采用率似乎有所放缓,但请记住,这不一定是坏事:需要 php: ^8.0
的包也会自动支持 php 8.4。
另一方面(我之前已经多次提出过这个论点):我相信,如果开源维护人员更加努力地跟上最新的 PHP 版本,PHP 社区将整体受益。得益于 Rector 等自动化工具,我们正处于升级从未如此简单的时代;保持项目与最新 PHP 版本保持同步只会带来好处(安全性、性能和新功能)。